c#学习摘录:类\继承\接口\字段、方法、属性\浅深复制(4)
2017-05-11 09:10
441 查看
修改之上扑克牌代码:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 控制台
{
public class 生成一副牌
{
public readonly 牌13 牌值;
public readonly 花色 牌色;
private 生成一副牌()
{
}
public 生成一副牌(牌13 新牌值, 花色 新牌色)
{
牌值 = 新牌值;
牌色 = 新牌色;
}
public override string ToString()
{ return 牌值 + "." + 牌色; }
}
public class 定义强类型牌 : CollectionBase
{
public void Add(生成一副牌 新牌值)
{ List.Add(新牌值); }
public void Remove(生成一副牌 新牌值)
{ List.Remove(新牌值); }
public 定义强类型牌() { }
public 生成一副牌 this[int 组序]
{
get { return (生成一副牌)List[组序]; }
set { List[组序] = value; }
}
public void CopyTo(定义强类型牌 强类型牌)
{
for (int 序 = 0; 序 < this.Count; 序++) 强类型牌[序] = this[序];
}
public bool Contains(牌13 卡片)
{ return InnerList.Contains(卡片); }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 控制台
{
public class 发牌
{
private 生成一副牌[] 牌组;
//public 发牌()
//{
// 牌组 = new 生成一副牌[52];
// for (int 色花 = 0; 色花 < 4; 色花++)
// for (int 牌值 = 1; 牌值 < 14; 牌值++)
// 牌组[色花 * 13 + 牌值 - 1] = new 生成一副牌((牌13)牌值, (花色)色花);
//}
//public 生成一副牌 读牌(int 牌发)
//{
// if (牌发 >= 0 && 牌发 <= 51) return 牌组[牌发];
// else throw new System.NotImplementedException();
//}
//public void 拖曳()
//{
// 生成一副牌[] 新牌 = new 生成一副牌[52];
// bool[] 标记 = new bool[52];
// Random 随机数 = new Random();
// for (int 值 = 0; 值 < 52; 值++)
// {
// int 发 = 0; bool 记 = false;
// while (记 == false)
// {
// 发 = 随机数.Next(52);
// if (标记[发] == false) 记 = true;
// }
// 标记[发] = true;
// 新牌[发] = 牌组[值];
// }
// 新牌.CopyTo(牌组, 0);
//}
private 定义强类型牌 卡片集 = new 定义强类型牌();
public 发牌()
{
for (int 色花 = 0; 色花 < 4; 色花++)
for (int 牌值 = 1; 牌值 < 14; 牌值++)
卡片集.Add(new 生成一副牌((牌13)牌值, (花色)色花));
}
public 生成一副牌 读牌(int 牌发)
{
if (牌发 >= 0 && 牌发 <= 51) return 卡片集[牌发];
else throw new System.NotImplementedException();
}
public void 拖曳()
{
定义强类型牌 新的牌 = new 定义强类型牌();
bool[] 标记 = new bool[52];
Random 随机数 = new Random();
for (int 值 = 0; 值 < 52; 值++)
{
int 发 = 0; bool 记 = false;
while (记 == false)
{
发 = 随机数.Next(52);
if (标记[发] == false) 记 = true;
}
标记[发] = true;
新的牌.Add((生成一副牌)卡片集[发]);
}
新的牌.CopyTo(卡片集);
}
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 集合示例
{
class 求素数
{
private long 最小, 最大;
public 求素数() : this(2, 100) { }
public 求素数(long 最低限度, long 最大限度)
{
if (最小 < 2) 最小 = 2; else 最小 = 最大限度;
最大 = 最大限度;
}
public IEnumerator GetEnumerator()
{
for (long 可能素数 = 最小; 可能素数 <= 最大; 可能素数++)
{
bool 逻辑 = true;
for (long 可能因素 = 2; 可能因素 <= (long)Math.Floor(Math.Sqrt(可能素数)); 可能因素++)
{
long 求余 = 可能素数 % 可能因素;
if (求余 == 0)
{
逻辑 = false;
break;
}
}
if (逻辑) yield return 可能素数;
}
}
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 控制台
{
public class 生成一副牌
{
public readonly 牌13 牌值;
public readonly 花色 牌色;
private 生成一副牌()
{
}
public 生成一副牌(牌13 新牌值, 花色 新牌色)
{
牌值 = 新牌值;
牌色 = 新牌色;
}
public override string ToString()
{ return 牌值 + "." + 牌色; }
}
public class 定义强类型牌 : CollectionBase
{
public void Add(生成一副牌 新牌值)
{ List.Add(新牌值); }
public void Remove(生成一副牌 新牌值)
{ List.Remove(新牌值); }
public 定义强类型牌() { }
public 生成一副牌 this[int 组序]
{
get { return (生成一副牌)List[组序]; }
set { List[组序] = value; }
}
public void CopyTo(定义强类型牌 强类型牌)
{
for (int 序 = 0; 序 < this.Count; 序++) 强类型牌[序] = this[序];
}
public bool Contains(牌13 卡片)
{ return InnerList.Contains(卡片); }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 控制台
{
public class 发牌
{
private 生成一副牌[] 牌组;
//public 发牌()
//{
// 牌组 = new 生成一副牌[52];
// for (int 色花 = 0; 色花 < 4; 色花++)
// for (int 牌值 = 1; 牌值 < 14; 牌值++)
// 牌组[色花 * 13 + 牌值 - 1] = new 生成一副牌((牌13)牌值, (花色)色花);
//}
//public 生成一副牌 读牌(int 牌发)
//{
// if (牌发 >= 0 && 牌发 <= 51) return 牌组[牌发];
// else throw new System.NotImplementedException();
//}
//public void 拖曳()
//{
// 生成一副牌[] 新牌 = new 生成一副牌[52];
// bool[] 标记 = new bool[52];
// Random 随机数 = new Random();
// for (int 值 = 0; 值 < 52; 值++)
// {
// int 发 = 0; bool 记 = false;
// while (记 == false)
// {
// 发 = 随机数.Next(52);
// if (标记[发] == false) 记 = true;
// }
// 标记[发] = true;
// 新牌[发] = 牌组[值];
// }
// 新牌.CopyTo(牌组, 0);
//}
private 定义强类型牌 卡片集 = new 定义强类型牌();
public 发牌()
{
for (int 色花 = 0; 色花 < 4; 色花++)
for (int 牌值 = 1; 牌值 < 14; 牌值++)
卡片集.Add(new 生成一副牌((牌13)牌值, (花色)色花));
}
public 生成一副牌 读牌(int 牌发)
{
if (牌发 >= 0 && 牌发 <= 51) return 卡片集[牌发];
else throw new System.NotImplementedException();
}
public void 拖曳()
{
定义强类型牌 新的牌 = new 定义强类型牌();
bool[] 标记 = new bool[52];
Random 随机数 = new Random();
for (int 值 = 0; 值 < 52; 值++)
{
int 发 = 0; bool 记 = false;
while (记 == false)
{
发 = 随机数.Next(52);
if (标记[发] == false) 记 = true;
}
标记[发] = true;
新的牌.Add((生成一副牌)卡片集[发]);
}
新的牌.CopyTo(卡片集);
}
}
}
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 集合示例
{
class 求素数
{
private long 最小, 最大;
public 求素数() : this(2, 100) { }
public 求素数(long 最低限度, long 最大限度)
{
if (最小 < 2) 最小 = 2; else 最小 = 最大限度;
最大 = 最大限度;
}
public IEnumerator GetEnumerator()
{
for (long 可能素数 = 最小; 可能素数 <= 最大; 可能素数++)
{
bool 逻辑 = true;
for (long 可能因素 = 2; 可能因素 <= (long)Math.Floor(Math.Sqrt(可能素数)); 可能因素++)
{
long 求余 = 可能素数 % 可能因素;
if (求余 == 0)
{
逻辑 = false;
break;
}
}
if (逻辑) yield return 可能素数;
}
}
}
}
相关文章推荐
- c#学习摘录:类\继承\接口\字段、方法、属性\浅深复制(3)
- c#学习摘录:类\继承\接口\字段、方法、属性\浅深复制(2)
- c#学习摘录:类\继承\接口\字段、方法、属性\浅深复制(1)
- Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
- C# 你什么让程序员寂寞成酱紫 (男生版 娱乐中学习 抽象类 接口 继承 实现方法 )
- Kotlin学习(四)—— 类和对象,继承,覆盖,抽象类,属性和字段,接口,可见性修饰符,扩展
- C#反射的学习(二)--访问字段、属性、方法
- c# 类成员的定义 定义方法、字段和属性
- c# 静态成员(静态字段,属性,方法,构造器,类)
- 积少成多Flash ActionScript 3.0(2) - 基础之包、类、包外类、命名空间、属性、方法、接口和继承
- C#封装、多态、抽象、接口、匿名方法等学习
- C#中,当声明类、方法、字段、属性等时,访问权限的说明。
- C#中,当声明类、方法、字段、属性等时,访问权限的说明。
- C#中Clone方法的链式继承复制实现
- C#中综合使用字段,属性和方法的实例
- C#反射新建类实例和调用类方法及属性帮助类 以及获取或设置对象属性中字段值帮助类
- java 学习 私有类实现接口 ,一个类继承来的方法和接口实现方法重复第八天
- C#学习1——继承和接口
- C#2005 .NET3.0高级编程学习笔记————类和结构,类的数据成员,类的函数成员(方法、属性)
- Visual C# 技术内幕学习笔记 第二章 C#基础(3) 继承和方法