[原创]一步一步用C#编写三国杀(二):牌堆的设计
2010-07-29 08:55
239 查看
原创文章,转载请保留作者署名!
前一节说到了一些基础性的定义。这一节开始将进入流程的分析。
首先,在游戏的场景建立之后,你就必须有一个牌堆。对于目前的需求来说,只要有手牌的牌堆即可;尽管后面可能还要有身份牌堆和武将牌堆,但目前只考虑手牌,即游戏牌。于是有以下定义:
/// <summary>
/// 定义牌堆的基本类型。
/// </summary>
/// <typeparam name="T">参数类型。</typeparam>
public abstract class CardHeap<T> : Collection<T>
{
}
定义为抽象的,是我希望能提供一些通用的方法以简化其他牌堆的设计。
对于牌堆来说,其一个重要的功能就是能够压出牌以供使用,因此定义如下:
扩展包接口
/// <summary>
/// 定义扩展包所必须实现的接口。
/// </summary>
public interface IPackage
{
/// <summary>
/// 扩展包中的游戏牌。
/// </summary>
GameCard[] GameCards { get; }
}
好,牌堆的设计就说到这里,后面就定义实际的基本牌,并将进入实际流程循环。
前一节说到了一些基础性的定义。这一节开始将进入流程的分析。
首先,在游戏的场景建立之后,你就必须有一个牌堆。对于目前的需求来说,只要有手牌的牌堆即可;尽管后面可能还要有身份牌堆和武将牌堆,但目前只考虑手牌,即游戏牌。于是有以下定义:
/// <summary>
/// 定义牌堆的基本类型。
/// </summary>
/// <typeparam name="T">参数类型。</typeparam>
public abstract class CardHeap<T> : Collection<T>
{
}
定义为抽象的,是我希望能提供一些通用的方法以简化其他牌堆的设计。
对于牌堆来说,其一个重要的功能就是能够压出牌以供使用,因此定义如下:
扩展包接口
/// <summary>
/// 定义扩展包所必须实现的接口。
/// </summary>
public interface IPackage
{
/// <summary>
/// 扩展包中的游戏牌。
/// </summary>
GameCard[] GameCards { get; }
}
好,牌堆的设计就说到这里,后面就定义实际的基本牌,并将进入实际流程循环。
相关文章推荐
- [原创]一步一步用C#编写三国杀(三):设计流程
- [原创]一步一步用C#编写三国杀(一):规则和需求描述
- 【原创】C#搭建足球赛事资料库与预测平台(6) 赔率数据表设计2
- (原创)重学设计模式,总结C#细节 一 简单工厂模式
- [原创]c#编写-获取Infopath数据中的图片工具
- 【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计
- 一步一步实现用c#编写异步socket服务端监听程序
- [原创][推荐]C#设计模式-命令模式(POS收银台应用)
- 【原创】C#搭建足球赛事资料库与预测平台(5) 赔率数据表设计1
- 【原创】修改C#_WinForm设计中两个默认图标
- (原创)一种用C#编写俄罗斯方块游戏的方法
- (原创)重学设计模式,总结C#细节 一 简单工厂模式
- (原创)c#学习笔记02--编写c#程序03--Windows Forms应用程序
- 共享一份C#数据库持久层框架设计思路及其部分代码(原创)
- 使用C#编写一个计时器(原创)
- 【原创】C#搭建足球赛事资料库与预测平台(6) 赔率数据表设计2
- 利用C#实现游戏应用设计模式(编写周期2天)
- (原创)c#学习笔记10--定义类成员06--示例应用程序02--编写类库
- [原创]C#编写的多生产者多消费者同步问题
- C#编写window服务,一步一步(1)