Ejemplo n.º 1
0
 public BluePawn(ChessmenParameters chessmanParameters, Chessboard chessboard)
     : base(chessmanParameters, chessboard)
 {
 }
Ejemplo n.º 2
0
 private Chessman GetNewCorrectPawn(ChessmenParameters chessmanParameters, Chessboard chessboard)
 {
     Chessman result;
     switch ((int)chessmanParameters.player)
     {
         case 0: result = new YellowPawn(chessmanParameters, chessboard);
             break;
         case 1: result = new RedPawn(chessmanParameters, chessboard);
             break;
         case 2: result = new BluePawn(chessmanParameters, chessboard);
             break;
         case 3: result = new BlackPawn(chessmanParameters, chessboard);
             break;
         default:
             {
                 result = null;
                 break;
             }
     }
     return result;
 }
Ejemplo n.º 3
0
            /* Numbers of chessmen are: 0 - King, 1 - Queen, 2 - Bishop, 3 - Knight, 4 - Tower,
             * 5 - Pawn of Queen, 6 - Pawn of Bishop, 7 - Pawn of Knight, 8 - Pawn of Tower.
             * Numbers of players are: 0 - Yellow, 1 - Red, 2 - Blue, 3 - Black.
             * Number of arrangement - numberOfArrangement. */
            public Chessman CreateNewChessman(string playersColor, string chessmanName, Chessboard chessboard)
            {
                int indexOfPlayer = -1;
                int indexOfChessman = -1;
                ChessmenParameters chessmanParam = new ChessmenParameters();
                Chessman result;
                //gets number of player
                switch (playersColor)
                {
                    case "Yellow": indexOfPlayer = 0;
                        break;
                    case "Red": indexOfPlayer = 1;
                        break;
                    case "Blue": indexOfPlayer = 2;
                        break;
                    case "Black": indexOfPlayer = 3;
                        break;
                    default:
                        {
                            MessageBox.Show("Внутренняя ошибка, невозможно выполнить действие");
                            return null;
                        }
                }

                //gets number of chessman
                switch (chessmanName)
                {
                    case "King": indexOfChessman = 0;
                        break;
                    case "Queen": indexOfChessman = 1;
                        break;
                    case "Bishop": indexOfChessman = 2;
                        break;
                    case "Knight": indexOfChessman = 3;
                        break;
                    case "Tower": indexOfChessman = 4;
                        break;
                    case "PawnOfQueen": indexOfChessman = 5;
                        chessmanName = "Pawn of Queen";
                        break;
                    case "PawnOfBishop": indexOfChessman = 6;
                        chessmanName = "Pawn of Bishop";
                        break;
                    case "PawnOfKnight": indexOfChessman = 7;
                        chessmanName = "Pawn of Knight";
                        break;
                    case "PawnOfTower": indexOfChessman = 8;
                        chessmanName = "Pawn of Tower";
                        break;
                    default:
                        {
                            MessageBox.Show("Внутренняя ошибка, невозможно выполнить действие");
                            return null;
                        }
                }

                //set parameters
                chessmanParam.horizontal = positionOfChessmen[numberOfArrangement, indexOfPlayer, indexOfChessman, 1];
                chessmanParam.vertical = positionOfChessmen[numberOfArrangement, indexOfPlayer, indexOfChessman, 0];
                chessmanParam.ruNameNominative = GetNominativeRu(indexOfPlayer, indexOfChessman);
                chessmanParam.engName = playersColor + ' ' + chessmanName;
                chessmanParam.chessmanBitmap = chessmanBitmap[indexOfPlayer, indexOfChessman];
                chessmanParam.ruNameAccusative = GetAccusativeRu(indexOfPlayer, indexOfChessman);
                chessmanParam.kindOfChessman = (ChessmenNames)indexOfChessman;
                chessmanParam.player = (Players)indexOfPlayer;
                chessmanParam.ruAttack = GetAttackRu(indexOfChessman);
                chessmanParam.ruMove = GetMoveRu(indexOfChessman);
                switch (indexOfChessman)
                {
                    case 0: result = new King(chessmanParam, chessboard);
                        break;
                    case 1: result = new Queen(chessmanParam, chessboard);
                        break;
                    case 2: result = new Bishop(chessmanParam, chessboard);
                        break;
                    case 3: result = new Knight(chessmanParam, chessboard);
                        break;
                    case 4: result = new Tower(chessmanParam, chessboard);
                        break;
                    case 5: result = GetNewCorrectPawn(chessmanParam, chessboard);
                        break;
                    case 6: result = GetNewCorrectPawn(chessmanParam, chessboard);
                        break;
                    case 7: result = GetNewCorrectPawn(chessmanParam, chessboard);
                        break;
                    case 8: result = GetNewCorrectPawn(chessmanParam, chessboard);
                        break;
                    default:
                        {
                            result = null;
                            break;
                        }
                }
                return result;
            }
Ejemplo n.º 4
0
 public YellowPawn(ChessmenParameters chessmanParameters, Chessboard chessboard)
     : base(chessmanParameters, chessboard)
 {
 }
Ejemplo n.º 5
0
            public King(ChessmenParameters chessmanParameters, Chessboard chessboard)
                : base(chessmanParameters, chessboard)
            {
                if (horizontal == 9)
                {
                    horizontal = 8;
                    graphHorizontal = 9;
                }
                else
                {
                    if (horizontal == 0)
                    {
                        horizontal = 1;
                        graphHorizontal = 0;
                    }
                    else
                    {
                        graphHorizontal = horizontal;
                    }
                }

                if (vertical == 9)
                {
                    vertical = 8;
                    graphVertical = 9;
                }
                else
                {
                    if (vertical == 0)
                    {
                        vertical = 1;
                        graphVertical = 0;
                    }
                    else
                    {
                        graphVertical = vertical;
                    }
                }
            }
Ejemplo n.º 6
0
 public Bishop(ChessmenParameters chessmanParameters, Chessboard chessboard)
     : base(chessmanParameters, chessboard)
 {
 }