Pythonでテキストベースのゲームを作ろう!(簡単)
今回はPythonで簡単なテキストベースのゲームを作っていきましょう。
ちなみに今回はinput関数についてと関数の活用のしかたについて学べると思います。
こんなのを作ります。
それでは早速作っていきましょう!
今回はライブラリのインポートはありません。
メイン関数です。この関数を中心としてプログラムを作ります。
関数を作るときはdef 関数名():で記述します。
global ○○というのは、グローバル変数を宣言するときに使います。
グローバル変数というのは、簡単に言うと、自身の関数外でも使える変数のことです。
例えば、関数の外でa = 0と宣言して、関数内でprint(a)をします。このとき、aはローカル変数というもので関数内では使えないため、エラーが起こってしまいます。
numberは話の流れを管理するのに使います。詳しくは後ほど説明しますが、こうするとセーブ機能を作るときなど、何かと便利です。
textも後から出ます。print関数はただそのテキストを表示するだけです。
main()に追加します。
ここで本題のinput関数が出てきました。
まず、input関数が何なのかというと、ユーザーからのキーボード入力を受け取るために使用される関数です。
この関数を呼び出すと、プログラムは一時停止し、ユーザーがキーボード入力するのを待ちます。ユーザーが入力したテキストは文字列として返されます。引数はprint関数みたいに表示されます。
つまり、choiceにはキーボード入力の情報が格納されます。
そしてtextというのは、input関数が実行されるときに表示されるテキストということです。
while True:は、この処理をずっと繰り返すということです。
choice_if(choice)は後で出てきますが、choice_if関数を引数にchoiceを送って実行するということです。
では、choice_if関数についてみていきたいですが、その前に一つ。
ゲームオーバー時の処理はどこでも同じなので、これも関数にしときましょう。
ただゲームオーバー!と空白の行を表示してmain関数を実行➡初めに戻すだけです。
これがchoice_if関数です。
tというのは、引数に入れてたtextのことです。
numberとtextは主にここで使われます。
numberは先ほど少し言った通り、話の流れを管理します。この関数が実行されるたびに+1されます。
textはinput関数の引数です。話の分岐点の選択肢を表示するテキストです。
ということで、if文の羅列を説明します。
numberが0なら、textをどっちに進む?(左/右):にし、処理を終える。
numberが1で、tが”左”なら話を進め、それ以外ならgame_overを実行。
numberが2なら、tが何でもgame_over。
つまり、正しい選択をした場合のみ話が進み、それ以外は話がリセットされるようになっています。
話の内容や選択肢を変えたり、続きを追加するのも簡単なので好きなように変えてください。
最後にpythonが実行されたときにmain関数を実行するようにします。
こう記述することで誤作動を減らすことができます。
これで完成です!
では実行しましょう。
また、今回作ったものはクイズアプリの開発などにも使えると思いますので、ぜひ活用してみてください!
以上、Pythonでテキストベースのゲームを作ろう!(簡単)でした。

