private void Board(Board bor) { for (char i = 'a'; i < 'h' + 1; i++) { addpiece(new Pawn(bor, Color.White), new ChessPosition(i, 2).ToPosition()); addpiece(new Pawn(bor, Color.Black), new ChessPosition(i, 7).ToPosition()); } //BlackS addpiece(new Tower(bor, Color.Black), new ChessPosition('a', 8).ToPosition()); addpiece(new Horse(bor, Color.Black), new ChessPosition('b', 8).ToPosition()); addpiece(new Bishop(bor, Color.Black), new ChessPosition('c', 8).ToPosition()); addpiece(new Queen(bor, Color.Black), new ChessPosition('d', 8).ToPosition()); addpiece(new King(bor, Color.Black), new ChessPosition('e', 8).ToPosition()); addpiece(new Bishop(bor, Color.Black), new ChessPosition('f', 8).ToPosition()); addpiece(new Horse(bor, Color.Black), new ChessPosition('g', 8).ToPosition()); addpiece(new Tower(bor, Color.Black), new ChessPosition('h', 8).ToPosition()); //WhiteS addpiece(new Tower(bor, Color.White), new ChessPosition('a', 1).ToPosition()); addpiece(new Horse(bor, Color.White), new ChessPosition('b', 1).ToPosition()); addpiece(new Bishop(bor, Color.White), new ChessPosition('c', 1).ToPosition()); addpiece(new King(bor, Color.White), new ChessPosition('d', 1).ToPosition()); addpiece(new Queen(bor, Color.White), new ChessPosition('e', 1).ToPosition()); addpiece(new Bishop(bor, Color.White), new ChessPosition('f', 1).ToPosition()); addpiece(new Horse(bor, Color.White), new ChessPosition('g', 1).ToPosition()); addpiece(new Tower(bor, Color.White), new ChessPosition('h', 1).ToPosition()); Screen.printChessDelay(bor); }
private void promocao(Position dest) { bool val = true; while (val) { Console.Clear(); Screen.printChessDelay(bor); Console.WriteLine("PROMOTION: choose a Piece:"); Console.WriteLine("1-Tower\n2-Bishop\n3-Horse\n4-Queen"); char a = Console.ReadKey().KeyChar; if (Char.IsDigit(a)) { Piece temp; Position pos = new Position(dest.line, dest.column); if (int.TryParse(a.ToString(), out int i)) { switch (i) { case 1: temp = bor.withdrawPiece(dest); pieces.Remove(temp); addpiece(new Tower(bor, temp.color), pos); while (temp.mvmtAmount != bor.piece(dest).mvmtAmount) { bor.piece(dest).increasemvmtAmount(); } val = false; break; case 2: temp = bor.withdrawPiece(dest); pieces.Remove(temp); addpiece(new Bishop(bor, temp.color), pos); while (temp.mvmtAmount != bor.piece(dest).mvmtAmount) { bor.piece(dest).increasemvmtAmount(); } val = false; break; case 3: temp = bor.withdrawPiece(dest); pieces.Remove(temp); addpiece(new Horse(bor, temp.color), pos); while (temp.mvmtAmount != bor.piece(dest).mvmtAmount) { bor.piece(dest).increasemvmtAmount(); } val = false; break; case 4: temp = bor.withdrawPiece(dest); pieces.Remove(temp); addpiece(new Queen(bor, temp.color), pos); while (temp.mvmtAmount != bor.piece(dest).mvmtAmount) { bor.piece(dest).increasemvmtAmount(); } val = false; break; default: Console.WriteLine("ERROR: Invalid Input"); break; } } } } }