見出し画像

○✕ゲームを作ってみよう ! with Python3 ④

みなさんこんにちは、metchです🌻🍓🧡
今回は○✕ゲームを作ってみよう
第4段の記事になります✨
はじめてプログラミングに触れる人でも
簡単に作れるように
分かりやすく解説を付けていきたいと思います!
何かわからないことがあったら、
ぜひコメントで質問してください!

○✕ゲームの流れ

  1. 3×3の盤面を表示する

  2. ○を書く位置を入力させ、盤面に反映する

  3. 盤面を表示する

  4. 勝利判定をする

  5. ✕を書く位置を入力させ、盤面に反映する

  6. 盤面を表示する

  7. 勝利判定をする

前回の記事では、
4. 勝利判定をする
プログラムの作成を行いました。

今回の記事では、
5.✕を書く位置を入力させ、盤面に反映する
プログラムを作成したいと思います。

前回までのプログラム

前回までに作成したプログラムは前の記事の最後にまとめてあります。
こちらをご覧ください!

5.✕を書く位置を入力させ、盤面に反映する

第2弾で同じようなタイトルがあったことにお気づきでしょうか?

2.○を書く位置を入力させ、盤面に反映する

今回作成するプログラムは第2弾で作成した部分に
追加する形になります。

では、どこに記述したらよいのでしょうか?
もう一度プログラムを見返してみましょう。

めちクイズ

input_boardの引数が
〇のときの条件を記述しているところはどこでしょう?

みつかりましたか?

めちクイズの答え

〇のときの条件を書いているのは、
関数 input_board の中の
if(player_type == "o")の部分でした。

#入力するための関数
def input_board(player_type):
    if(player_type=="o"):
        print ("あなたのターン")
        place=int (input("1~9の数字を入力してください。"))-1

今回のプログラムはこの続きに記述します。

✕を書く位置

今回作成している〇✕ゲームでは、
〇はユーザーが入力した位置に書き込み、
✕は空いているマスのランダムな位置に書き込むようにします。

else文をつかって
✕のときの条件を記述しましょう。

else:
    print ("相手のターン")
    place=random.randint(0,8)

#ゲームの流れにinput_board("✕")を追加し、
実行してみると・・・
エラーが起こりました。

これはランダムを使うための準備ができていなかったからです。

プログラムの一番はじめに、

import random 

と記述してもう一度実行してみましょう。

現在の盤面が表示された後、
数字を入力を求められます。
入力した数字のマスに〇が書き込まれ、
現在の盤面が表示されたあと、
「相手のターン」と表示されましたか?

6.盤面を表示する

相手がどこにバツを書き込んだのかわからないので、
現在の盤面を表示してみましょう。

盤面を表示するためにはどうしていたか、覚えていますか?
忘れてしまっている人は、プログラムをもう一度見直してみましょう。

盤面を表示するためには、
#ゲームの流れで
displayboardを呼び出せばよかったですね。

追記して実行してみましょう。

現在の盤面
123
456
789
あなたのターン
1~9の数字を入力してください。5
現在の盤面
123
4o6
789
相手のターン
現在の盤面
123
4ox
789

7.勝利判定をする

ここまで出来たらゲームの完成まであともう少しです!
現在の盤面に勝ち手がないか判定しましょう。
勝利判定を行う関数も前の記事で作成しています。

#ゲームの流れで
関数 judgeを呼び出しましょう。

実行すると
先ほどまでの実行結果と何も変わっていないように見えます。

judge関数の中にもう一度else文を入れて実行してみると、
きちんと勝利判定が行われているか確認できるので
気になる人はやってみてください。

ここまでで、
〇と✕の一通りの流れが完成しました。

○✕ゲームを行うためにはこの一連の流れを
後8回行わなければなりません。

次回は繰り替えし、○✕を書き込むことができるように
プログラムを改造していきましょう。


今回の記事で、
6.盤面を表示する
7.勝利判定をする

のプログラムが完成しました。

次回は、
〇✕ゲームの完成
プログラムを作成します。

今回作成したプログラムには

  • 関数の呼び出し

が含まれています。

興味がある人は、それぞれの用語について調べてみるとより、
理解が深まると思います✨
何かわからないことがあったらコメントで教えてください!

ここまで読んでいただき、ありがとうございます!
少しでも参考になったら
♡(スキ)やフォローよろしくお願いします。

次の記事はこちら


ここまでのプログラム(有料)

ここまで作成したプログラムを載せておくので、
参考にしてください。

ここから先は

1,196字

¥ 100

この記事が参加している募集

自己紹介

スキしてみて

この記事が気に入ったらサポートをしてみませんか?