本文整理汇总了C#中System.Enums.Add方法的典型用法代码示例。如果您正苦于以下问题:C# Enums.Add方法的具体用法?C# Enums.Add怎么用?C# Enums.Add使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Enums
的用法示例。
在下文中一共展示了Enums.Add方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PieceMoveIn
/// <summary>
/// 内部方法:移动棋子,并更改FEN记录
/// </summary>
/// <param name="piece">被移动的棋子</param>
/// <param name="srcPos">源棋格</param>
/// <param name="tgtPos">目标棋格</param>
private void PieceMoveIn(Piece piece, Enums.ActionCollection actions, Position srcPos, Position tgtPos)
{
switch (piece.PieceType)
{
#region case 王车易位,过路兵,升变
case Enums.PieceType.WhiteKing:
case Enums.PieceType.BlackKing:
{
//TODO:在这里实现王车易位
break;
}
case Enums.PieceType.WhitePawn:
case Enums.PieceType.BlackPawn:
{
//移走被吃的过路兵
if (_piecePawnByEnPassanted != null)
{
if (tgtPos.X == _piecePawnByEnPassanted.Position.X)
{
actions.Add(Enums.Action.EnPassant);
PieceMoveOut(_piecePawnByEnPassanted.Position);
}
}
//TODO:在这里实现“升变”
break;
}
case Enums.PieceType.WhiteQueen:
case Enums.PieceType.WhiteRook:
case Enums.PieceType.WhiteBishop:
case Enums.PieceType.WhiteKnight:
case Enums.PieceType.BlackQueen:
case Enums.PieceType.BlackRook:
case Enums.PieceType.BlackBishop:
case Enums.PieceType.BlackKnight:
case Enums.PieceType.AllKings:
case Enums.PieceType.AllQueens:
case Enums.PieceType.AllRooks:
case Enums.PieceType.AllBishops:
case Enums.PieceType.AllKnights:
case Enums.PieceType.AllPawns:
case Enums.PieceType.All:
case Enums.PieceType.None:
default:
break;
#endregion
}
piece.Position = tgtPos;
this.SetByPosition(srcPos.Dot, '1');
this.SetByPosition(tgtPos.Dot, Enums.FromPieceType(piece.PieceType)[0]);
this.GameSide = Enums.GetOtherGameSide(this.GameSide);
if (this.GameSide == Enums.GameSide.White)
{
this.FullMoveNumber++;
}
this.HalfMoveClock++;
}