乱数を使用した自動TicTacToeゲームのPython実装
これはとても面白いゲームです。このゲームではプレイヤーは必要ありません。自動ゲームです。
ここでは、numpyとrandomの2つのPythonモジュールを使用しています。このゲームでは、ユーザーにボードにマークを付けるのではなく、ボードにマークを自動的に付けます。プレーヤーが勝てない限り、各ターンの後にボードが表示されます。ゲームが引き分けになると-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
-
Pythonを使用したコンウェイのライフゲーム?
1970年頃の英国の数学者は、彼の「ライフゲーム」を作成しました。これは基本的に、生物のコロニーの混沌とした、しかしパターン化された成長を描いた一連のルールです。 「GameofLife」は、「生きている」細胞と「死んでいる」細胞で構成される2次元グリッドです。 人生ゲームのルール 人口過多 :細胞が3つ以上の生きている細胞に囲まれている場合、細胞は死にます(オフ)。 静的 :細胞が2つまたは3つの生きている細胞に囲まれている場合、その細胞は生きています。 過少人口 :細胞が2つ未満の生きている細胞に囲まれている場合、細胞は死にます(オフになります)。 複製 :死ん
-
PythonでTkinterを使用したカラーゲーム
GUIアプリケーションの開発では、tkinterは非常に人気があり簡単です。 tkinterを使用すると、GUIゲームを簡単に開発できます。 ここでもカラーゲームの開発を試みています。このゲームでは、プレーヤーは画面に表示される単語の色を入力する必要があるため、スコアが1つ増えます。このゲームをプレイする合計時間は、30秒で、このゲームで使用される色は、赤、青、緑、ピンク、ブラック、イエロー、オレンジ、ホワイト、パープル、ブラウン。インターフェイスには、さまざまな色の名前がさまざまな色で表示されます。ゲームに勝つには、ユーザーは色を識別し、正しい色の名前を入力する必要があります。 サンプルコ