private void GetAiInput(List <GamePiece> movablePieces) { Thread.Sleep(500); var random = new Random(); int index = random.Next(movablePieces.Count); GamePiece piece = movablePieces[index]; int result = random.Next(piece.Moves.Count); int x = piece.Moves[result].X; int y = piece.Moves[result].Y; if (Board.tiles[x, y].Piece != null) { PieceCaptured(piece, result); } if (piece.Type == "Pawn") { if (x == 7 || x == 0) { RemovePawnFromPlayerList(piece); piece = PromoteAiPawn(piece); AddPromotedPieceToList(piece); } } Board.tiles[piece.Place.X, piece.Place.Y].Piece = null; Board.tiles[x, y].Piece = piece; piece.Place = Board.tiles[x, y]; piece.FirstTurn = false; KingThreatened = piece.CanCaptureKing(); if (KingThreatened == true) { Threat = piece; } Console.WriteLine($"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); Console.WriteLine($"Computer moved {piece.Type} to [{piece.Place.X},{piece.Place.Y}]"); TurnOver(); }
private void MovePiece(GamePiece piece) { Console.WriteLine($"Select a tile to move {piece.Type} to."); for (int i = 0; i < piece.Moves.Count; i++) { Console.WriteLine($"[{i}]- {piece.Type} -[{piece.Moves[i].X},{piece.Moves[i].Y}] "); } int result = GetMoveInput(piece); int x = piece.Moves[result].X; int y = piece.Moves[result].Y; if (Board.tiles[x, y].Piece != null) { PieceCaptured(piece, result); } if (piece.Type == "Pawn") { if (x == 7 || x == 0) { RemovePawnFromPlayerList(piece); piece = PawnPromotion(piece); AddPromotedPieceToList(piece); } } Board.tiles[piece.Place.X, piece.Place.Y].Piece = null; Board.tiles[x, y].Piece = piece; piece.Place = Board.tiles[x, y]; piece.FirstTurn = false; KingThreatened = piece.CanCaptureKing(); if (KingThreatened == true) { Threat = piece; } TurnOver(); }