インフラエンジニアは人間じゃない

インターネットの闇、炎上ネタ、迷惑メールや詐欺、あらゆる危険な情報を扱うブログです。

MENU

【Python】〇×ゲームをたった10分で作った結果wwwww【多次元リスト】

こんにちは。

東海ねるです。

 

iPhone6SからiPhone8に機種変更してから2か月が経ちました。

すっかりiPhone8に慣れてしまい、iPhone6がすっかり文鎮になりました。

投げて遊ぶかまな板として使うしか使い道がありません…。

皆使わなくなったiPhoneってどうしてるんですかね?やっぱりまな板?

 

さて、そんなどうでもいい話は置いておいて、今回もPythonを学びます!

今回はPythonの多次元リストを使って〇×ゲームを作ってみました!

 

Python 〇×ゲームのステージを作る

2次元リスト(x軸とy軸)を利用してステージを作ります。

今回〇×ゲームなので、3×3のステージになりますね。

各リストのデフォルトの値は〇でも×でもない□にしておきます。

 

stage = [["□" for i in range(3)]for j in range(3)]

順番に〇と×を打っていく

2次元リストの座標を指定して、〇と×を代入していきます。

そうして出来たPythonの〇×ゲームがこちら!

 

サンプルソースコード

# 盤面(3x3)

stage = [["□" for i in range(3)]for j in range(3)]

for line in stage:

     for area in line:

          print(area,end="")

     print()

battle_result = 0

# 〇のターン

while battle_result == 0:

     input_x = int(input('x軸を入力(x:1-3)'))

     input_y = int(input('y軸を入力(y:1-3)'))

     stage[input_x - 1][input_y - 1] = '〇'

for line in stage:

     for area in line:

          print(area,end="")

     print()

# ×のターン

input_x = int(input('x軸を入力(x:1-3)'))

input_y = int(input('y軸を入力(y:1-3)'))

stage[input_x - 1][input_y - 1] = '×'

for line in stage:

     for area in line:

          print(area,end="")

     print()

これで〇と×を順番に打っていくことで、友達と〇×ゲームが楽しめます!

 

ですが、今のままだと相手の置いたマスにも置けますし、

ステージの外に置こうとするとエラーでプログラムが終了してしまいます。

また、1人2役で遊ぶか2人でしかプレイできません。CPUが欲しいですね。

 

この辺りを改善したPythonのプログラムを作っていこうと思います!

頑張りまっす!