学校のプロジェクトの一環として、クラスと GUI を使用するプログラムを作成する必要があります。これは、昨年同様の非オブジェクト指向バージョンを作成したためです。GUIの側面にtkinterを使用して、テキストベースのRPGを再作成しています。
私の問題は、部屋とダンジョンを設計するときに発生し、それらがどのように組み合わされるかです。私の最後のものは過度に基本的で、次のようになりました。
if currentRoom == 1:
print('<Room description>')
print('1] <Option one>')
print('2] <Option two>')
etc...
userinput = int(input('>>_:'))
if userinput = 1:
# Do stuff
世界でのプレイヤーの位置は、古い D&D マップの部屋番号に対応する単一の番号で表されていました。オプションは部屋固有のもので、部屋ごとに書き直されました。プログラムは、停止するように指示されるまでループし続けました (「実行中」が false の場合)。
コマンド入力は App クラスによって処理されます。ユーザーが Enter キーを押すと、tkinter エントリ ウィジェットの内容がチェックされ、フィルター処理されて、定義済みのフェーズ (移動、トーク、装備など) が検索されます。
出力は一時ファイルに書き込まれ、ラベル ウィジェットを介して読み取られて表示されます。
部屋がオブジェクトである場合、どのようにしてこれを行うのか、どの部屋が互いにつながっているのか、そこに到達するためにどの方向に移動する必要があるのか をどのように知るのでしょうか(つまり、「北に行く」).