/*Set chess pieces*/ void InitChessPieces() { ColorConstants RED = ColorConstants.RED; ColorConstants BLACK = ColorConstants.BLACK; RankConstants SOLDIER = RankConstants.SOLDIER; RankConstants HORSE = RankConstants.HORSE; RankConstants CARRIAGE = RankConstants.CARRIAGE; RankConstants SECRETARY = RankConstants.SECRETARY; RankConstants IMPERIAL_GUARD = RankConstants.IMPERIAL_GUARD; RankConstants KING = RankConstants.KING; RankConstants CANNON = RankConstants.CANNON; chessBoard = new ChessPiece[4, 8] { { CreatePiece(RED, KING), CreatePiece(BLACK, KING), CreatePiece(RED, IMPERIAL_GUARD), CreatePiece(RED, IMPERIAL_GUARD), CreatePiece(BLACK, IMPERIAL_GUARD), CreatePiece(BLACK, IMPERIAL_GUARD), CreatePiece(RED, SECRETARY), CreatePiece(RED, SECRETARY) }, { CreatePiece(BLACK, SECRETARY), CreatePiece(BLACK, SECRETARY), CreatePiece(RED, CARRIAGE), CreatePiece(RED, CARRIAGE), CreatePiece(BLACK, CARRIAGE), CreatePiece(BLACK, CARRIAGE), CreatePiece(RED, HORSE), CreatePiece(RED, HORSE) }, { CreatePiece(BLACK, HORSE), CreatePiece(BLACK, HORSE), CreatePiece(RED, CANNON), CreatePiece(RED, CANNON), CreatePiece(BLACK, CANNON), CreatePiece(BLACK, CANNON), CreatePiece(RED, SOLDIER), CreatePiece(RED, SOLDIER) }, { CreatePiece(RED, SOLDIER), CreatePiece(RED, SOLDIER), CreatePiece(RED, SOLDIER), CreatePiece(BLACK, SOLDIER), CreatePiece(BLACK, SOLDIER), CreatePiece(BLACK, SOLDIER), CreatePiece(BLACK, SOLDIER), CreatePiece(BLACK, SOLDIER) } }; }
private void PlaceChessPieces(int startPos, RankConstants? [] rankList) { for (int i = 0; i < 9; ++i) { RankConstants?nullableRank = rankList[i]; if (nullableRank.HasValue) { RankConstants rank = nullableRank.Value; ChessPiece black = CreatePiece(ColorConstants.BLACK, rank); ChessPiece red = CreatePiece(ColorConstants.RED, rank); black.flipped = red.flipped = true; chessBoard[startPos, i] = black; chessBoard[9 - startPos, i] = red; } } }
protected ChessPiece CreatePiece(ColorConstants color, RankConstants rank) { return(new ChessPiece(color, rank)); }
public ChessPiece(ColorConstants color, RankConstants rank) { this.color = color; this.rank = rank; flipped = false; }