2

私はプログラミングゲームにかなり慣れていません。私は途中で 3/4 になりLearn Python the Hard Way、私が作成した小さなテキストベースのゲームについて質問がありました...このゲームでは、私guyは無人島に取り残されており、行くleft rightか、またはinto the jungle. 方向を選択した後、何マイル歩くかを選択するオプションが与えられます。各方向は、異なる最終結果 (およびマイル距離) を持つはずです。

目的地までのマイル数よりも少ない数値を入力すると、「turn around引き返すか、そのまま進むか」のどちらかを選択するよう求められます。再び方向を選択するように求められます. を入力するkeep goingと、プログラムは miles() に戻り、そこで新しい歩行マイル数を選択できます.

def miles():
        print "How many miles do you walk?"     
    miles_choice = raw_input("> ")
    how_much = int(miles_choice)    
    if how_much >= 10:
        right_dest()    
    elif  how_much < 10:
        turn()  
    else: 
        print "You can't just stand here..."
        miles() 

わかりましたので、ここに2つの質問があります:

  1. ユーザーが最初に目的地の距離よりも少ないマイル数を入力し、2番目のマイル入力+最初のマイル入力==目的地までのマイル数を入力した場合、入力を追加して実行するようにするにはどうすればよいですか?単にマイルを繰り返すだけでなく、目的地の関数です()。

  2. 3 つの最終目的地の距離はすべて異なるため、3 つの別々のマイル関数を作成する必要がありますか? 選択した元の方向に応じて、miles() が異なるエンドポイントを実行するようにする方法はありますか?

これが意味をなさない場合は申し訳ありません...私はまだ学んでおり、私が理解しようとしていることを完全に説明する方法がわかりません.

4

3 に答える 3

0

各方向に歩くマイルの量を辞書に保存し、辞書をチェックして、ユーザーが十分に歩いたかどうかを確認できます。

distances = {
    'right': 7,
    'left': 17,
    'forward': 4
}

direction_choice = raw_input("> ")
miles_choice = raw_input("> ")

if how_much >= distances['direction_choice']:
    right_dest()    
elif  how_much < distances['direction_choice']:
    turn()  
else: 
    print "You can't just stand here..."
    miles()

私が対処していないユーザー入力を適切に検証してキャストしてください。幸運を!

于 2014-04-28T07:08:26.313 に答える