private void endgame(elements_of_game winner) { duck.GetComponent <Duck>().game_is_active = false; duck.GetComponent <Duck>().game_over(winner); //foreach(GameObject it in active_elements) //{ // Destroy(it); //} }
private void Start() { matrix = new elements_of_game[3, 3]; active_elements = new List <GameObject>(); help_bar = null; int i, j; for (i = 0; i < 3; i++) { for (j = 0; j < 3; j++) { matrix[i, j] = elements_of_game.NOTHING; } } human = turn = elements_of_game.CROSS; robot = elements_of_game.CIRCLE; duck.GetComponent <Duck>().welcome(); Edward = new AI(human, robot); }
private void spawn_object(Vector3 spawn_position) { spawn_position = get_spawn_position(board_position); matrix[(int)board_position.x, (int)board_position.y] = turn; if (turn == elements_of_game.CROSS) { GameObject help = Instantiate(cross, spawn_position, Quaternion.identity); active_elements.Add(help); turn = elements_of_game.CIRCLE; } else if (turn == elements_of_game.CIRCLE) { GameObject help = Instantiate(circle, spawn_position, Quaternion.identity); active_elements.Add(help); turn = elements_of_game.CROSS; } }
public void game_over(elements_of_game winner) { //player wins if (winner == elements_of_game.CROSS) { index = 9; } //AI wins else if (winner == elements_of_game.CIRCLE) { index = 7; } //Draw else { index = 8; } show_text(); function_timer.create(clear_text, 5f); }
int minimax(elements_of_game[,] board, int depth, elements_of_game player) { elements_of_game victory = who_win(board); if (victory == me) { return(10 - depth); } if (victory == human) { return(-10 + depth); } if (is_board_full(board) == true) { return(0); } if (player == me) { int best = -1000; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (board[i, j] == elements_of_game.NOTHING) { board[i, j] = me; best = Math.Max(best, minimax(board, depth + 1, human)); board[i, j] = elements_of_game.NOTHING; } } } return(best); } else { int best = 1000; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { if (board[i, j] == elements_of_game.NOTHING) { board[i, j] = human; best = Math.Min(best, minimax(board, depth + 1, me)); board[i, j] = elements_of_game.NOTHING; } } } return(best); } }
public AI(elements_of_game human_player, elements_of_game AI_player) { this.human = human_player; this.me = AI_player; }