本文整理汇总了C#中Board.IsCheckMate方法的典型用法代码示例。如果您正苦于以下问题:C# Board.IsCheckMate方法的具体用法?C# Board.IsCheckMate怎么用?C# Board.IsCheckMate使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Board
的用法示例。
在下文中一共展示了Board.IsCheckMate方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: TestCheckMateNeverTwoRooks
public void TestCheckMateNeverTwoRooks()
{
var b = new Board();
b.PlayerTurn = Color.Black;
b.State[6] = Colors.Val(Piece.Rook, Color.White);
b.State[7] = Colors.Val(Piece.Rook, Color.White);
b.State[8 * 6 + 5] = Colors.Val(Piece.King, Color.Black);
bool check = b.IsCheckMate();
Assert.IsFalse(check);
}
示例2: MakeMove
private PGNMove MakeMove(PGNToken token, Board position)
{
var move = token.GetMove(position);
if (move.Capture && position.State[move.To] == 0 && position.EnPassantTile == 0)
throw new PGNException("Move is not a capture", token);
if (move.Color != position.PlayerTurn)
throw new PGNException("It is not this players turn to move", token);
if (move.Color != position.GetColor(move.From))
throw new PGNException("Moving piece is not of the expected color", token);
if (move.Piece != position.GetPiece(move.From))
throw new PGNException("Moving piece is not of the expected type", token);
var ok = position.Move(move.From, move.To, true);
if (!ok)
throw new PGNException("Illegal move", token);
if (move.Promotion != Piece.None)
{
ok = position.Promote(move.To, move.Promotion);
if(!ok)
throw new PGNException("Illegal promotion", token);
}
if (move.Check && !position.IsChecked(position.PlayerTurn))
throw new PGNException("Move did not cause a check", token);
if (move.Mate && !position.IsCheckMate())
throw new PGNException("Move did not cause a mate", token);
return move;
}
示例3: TestCheckMateNoTwoRooksOneQueen
public void TestCheckMateNoTwoRooksOneQueen()
{
// should be able to move the queen in front
var b = new Board();
b.State[6] = Colors.Val(Piece.Rook, Color.White);
b.State[7] = Colors.Val(Piece.Rook, Color.White);
b.State[7*8 + 7] = Colors.Val(Piece.King, Color.Black);
b.State[6*8 + 0] = Colors.Val(Piece.Queen, Color.Black);
b.PlayerTurn = Color.Black;
bool check = b.IsCheckMate();
Assert.IsFalse(check);
}