そこで私は、ユーザーに次のアクションを入力してもらいたいテキストベースのゲームに取り組んでいます。「ピクピク」しないようにコーディングする方法を模索しています。ゲームが部分的な入力(たとえば、北ではなくn)を受け入れ、「go」などのプレフィックスを無視するようにします。
forループを使用して部分入力を作成しました。これは、「go」プレフィックスを使用した入力も受け入れます。ただし、方向を入力せずに単に「go」と入力すると、デフォルトで「north」になります。これは、有効なコマンドのリストの最初の部分です。この問題は、空の入力を与えるときにも発生します。
私が今探しているのは、地図の前にある「チェック」や南の前にある「歩く」など、プレフィックスを変更する方法です。また、入力にプレフィックスのみが含まれ、実際のコマンドが含まれていない場合に認識させる必要があります。
これは現時点で関連するコードです。
move_input = input("You silently ask yourself what to do next.\n").lower()
for n in valid_moves:
if n.startswith(move_input) or ("go " + n).startswith(move_input):
move_input = n