public BluePawn(ChessmenParameters chessmanParameters, Chessboard chessboard) : base(chessmanParameters, chessboard) { }
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; }
/* 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; }
public YellowPawn(ChessmenParameters chessmanParameters, Chessboard chessboard) : base(chessmanParameters, chessboard) { }
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; } } }
public Bishop(ChessmenParameters chessmanParameters, Chessboard chessboard) : base(chessmanParameters, chessboard) { }