用C#编写三国杀(一):规则和需求描述
2010-09-30 22:43:52 来源:WEB开发网其中场景中定义了游戏玩家,因为场景中的游戏玩家在场景生成之后就固定了,所以使用了readonly。
同样,游戏实际是个循环,结束的条件就是有玩家死亡。因此,先定义玩家死亡的条件:
private bool IsGameEnds()
{
return players.Where(p => p.IsDead).Count() > 0; // 如果选择到IsDead的Player,游戏结束
}
这样,由于其中引用到了Player类,因此,建立玩家类,来对其按照需求进行设计。代码如下:
Player
/// <summary>
/// 表示游戏中的玩家。
/// </summary>
public class Player
{
private readonly List<GameCard> handCards = new List<GameCard>(20);
public Player(string name, byte maxHp)
{
this.Name = name;
this.Hp = maxHp;
this.MaxHp = maxHp;
}
/// <summary>
/// 表示该玩家的名称。
/// </summary>
public string Name { get; private set; }
/// <summary>
/// 表示该玩家是否已经死亡。
/// </summary>
public bool IsDead
{
get { return Hp == 0; }
}
/// <summary>
/// 表示该玩家所选武将的当前HP.
/// </summary>
public byte Hp { get; private set; }
/// <summary>
/// 表示该玩家所选武将的最大HP.
/// </summary>
public byte MaxHp { get; private set; }
}
更多精彩
赞助商链接