이것은 매우 재미있는 게임입니다. 이 게임에서는 플레이어가 필요하지 않으며 자동 게임입니다.
여기서 우리는 두 개의 Python 모듈 numpy 및 random을 사용하고 있습니다. 이 게임에서는 사용자에게 보드에 표시를 하라고 요청하는 대신 자동으로 보드에 표시를 하고 플레이어가 이기지 않는 한 매 턴 후에 보드를 표시합니다. 게임이 무승부이면 -1을 반환합니다.
예시 코드
import numpy as np import random from time import sleep # first creates an empty board def my_create_board(): return(np.array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])) # Check for empty places on board def my_possibilities(board): l = [] for i in range(len(board)): for j in range(len(board)): if board[i][j] == 0: l.append((i, j)) return(l) # Select a random place for the player def my_random_place(board, my_player): selection = my_possibilities(board) current_loc = random.choice(selection) board[current_loc] = my_player return(board) def my_row_win(board, my_player): for x in range(len(board)): win = True for y in range(len(board)): if board[x, y] != my_player: win = False continue if win == True: return(win) return(win) def my_col_win(board, my_player): for x in range(len(board)): win = True for y in range(len(board)): if board[y][x] != my_player: win = False continue if win == True: return(win) return(win) def my_diag_win(board, my_player): win = True: for x in range(len(board)): if board[x, x] != my_player: win = False return(win) def evaluate_game(board): my_winner = 0 for my_player in [1, 2]: if (my_row_win(board, my_player) or my_col_win(board,my_player) or my_diag_win(board,my_player)): my_winner = my_player if np.all(board != 0) and my_winner == 0: my_winner = -1 return my_winner # Main function to start the game def my_play_game(): board, my_winner, counter = my_create_board(), 0, 1 print(board) sleep(2) while my_winner == 0: for my_player in [1, 2]: board = my_random_place(board, my_player) print("Board after " + str(counter) + " move") print(board) sleep(2) counter += 1 my_winner = evaluate_game(board) if my_winner != 0: break return(my_winner) # Driver Code print("Winner is: " + str(my_play_game()))
출력
[[0 0 0] [0 0 0] [0 0 0]] Board after 1 move [[0 1 0] [0 0 0] [0 0 0]] Board after 2 move [[0 1 0] [0 0 0] [0 0 2]] Board after 3 move [[0 1 0] [0 0 0] [0 1 2]] Board after 4 move [[0 1 0] [0 0 2] [0 1 2]] Board after 5 move [[0 1 1] [0 0 2] [0 1 2]] Board after 6 move [[0 1 1] [2 0 2] [0 1 2]] Board after 7 move [[0 1 1] [2 1 2] [0 1 2]] Winner is: 1