private void PlayerWhiteVsAiBlack() { Debug.Log("PlayerWhiteVsAiBlack"); if (engine.IsGameOver()) { return; } if (engine.Thinking) { return; } switch (engine.WhoseMove) { case ChessPieceColor.White: Debug.Log("WhoseMove White"); SetInteractive(whitePieces, true); SetInteractive(blackPieces, false); foreach (var piece in promotedPieces) { if (piece.mainColor == Colors.WhitePieces) { piece.enabled = true; } } StaticEvents.ReportOfTurnChange(false, engine.GetScore()); break; case ChessPieceColor.Black: Debug.Log("WhoseMove Black"); SetInteractive(whitePieces, false); SetInteractive(blackPieces, false); StaticEvents.ReportOfTurnChange(true, engine.GetScore()); if (engine.WhoseMove != engine.HumanPlayer) { MakeEngineMove(); } break; default: throw new ArgumentOutOfRangeException(); } }
private void AiWhiteVsAiBlack() { Debug.Log("AiWhiteVsAiBlack"); SetInteractive(whitePieces, false); SetInteractive(blackPieces, false); if (engine.IsGameOver()) { return; } if (engine.Thinking) { return; } switch (engine.WhoseMove) { case ChessPieceColor.White: Debug.Log("WhoseMove White"); StaticEvents.ReportOfTurnChange(false, engine.GetScore()); engine.HumanPlayer = ChessPieceColor.Black; if (engine.WhoseMove != engine.HumanPlayer) { MakeEngineMove(); } break; case ChessPieceColor.Black: Debug.Log("WhoseMove Black"); StaticEvents.ReportOfTurnChange(true, engine.GetScore()); engine.HumanPlayer = ChessPieceColor.White; if (engine.WhoseMove != engine.HumanPlayer) { MakeEngineMove(); } break; default: throw new ArgumentOutOfRangeException(); } }
private void PlayerWhiteVsPlayerBlack() { if (engine.IsGameOver()) { return; } switch (engine.WhoseMove) { case ChessPieceColor.White: SetInteractive(whitePieces, true); SetInteractive(blackPieces, false); foreach (var piece in promotedPieces) { var isBlack = piece.mainColor != Color.white; piece.enabled = !isBlack; } StaticEvents.ReportOfTurnChange(false, engine.GetScore()); break; case ChessPieceColor.Black: SetInteractive(whitePieces, false); SetInteractive(blackPieces, true); foreach (var piece in promotedPieces) { var isBlack = piece.mainColor != Color.white; piece.enabled = isBlack; } StaticEvents.ReportOfTurnChange(true, engine.GetScore()); break; default: throw new ArgumentOutOfRangeException(); } }