예제 #1
0
        /*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) }
            };
        }
예제 #2
0
        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;
                }
            }
        }
예제 #3
0
 protected ChessPiece CreatePiece(ColorConstants color, RankConstants rank)
 {
     return(new ChessPiece(color, rank));
 }
예제 #4
0
 public ChessPiece(ColorConstants color, RankConstants rank)
 {
     this.color = color;
     this.rank  = rank;
     flipped    = false;
 }