2017-02-19 8 views
0

の問題私は私のコードで助けを希望し、それは私の問題を記述するためにかなり難しいですが、私はどこプロジェクトを持っている(コードも警告かなり長い警告Python - Pythonの新機能です。ランダム

の下になります以下について説明します 私は各部屋に1〜13(pr​​n)の数字を与えています。 私はランダムなモジュールを持っています。ここでは、 'ゴースト'は1- 13(grn)、それがprnと一致すれば 'BOO!'が表示されます。 私の問題はこのコードを置く場所です。 コードの挿入LONG

******************************************************* 
    import random 
    grn = (random.randint(1,13)) 
    if prn == grn: 
     print(" ") 
     print('BOO!') 
     print(" ") 
******************************************************* 
house() 

星の間の部分に焦点を当てます。 私はそこにランダムモジュールを持っており、grn。各部屋のprnはwhileループの上です。 私の問題は、 'BOO!'が表示されない場合はgrnとprnが一致するので、私はここに来て質問します: どこに移動しますか または これを動作させるには何を編集すればよいですか?

答えて

0

あなたのスター付き部分のインデントレベルを見てください。 prnがwhileループ内で定義されています。ユーザーがと入力した後はif prn == grnになるので、期待していた価値を得ることはできません。

また、「room」をloft()にグローバルとして渡しているようです。それは悪い考えです。あなたがいつから変わるのか分からず、話を聞かないでしょう。

あなたはおそらく、コードレビューにこれらの答えをチェックアウトする必要があります: https://codereview.stackexchange.com/questions/36101/better-way-to-code-this-game/36112#36112 https://codereview.stackexchange.com/questions/155661/text-adventure-game

+0

whileループの 'それは出口ではない場合...'で、このループのif文は 'room'が 'loft'ならばloftの定義に行きます。次の行だから確実にprnは、それが行の上にあるので、ユーザーが一度ロフトに入ったら有効になるはずです。 –

+0

**ありがとうございます。 grn =(random.randint(1,13))prn == grn: print( "") print( 'BOO!') 各部屋の下にprint( "") whileループ。歓声:) –

0

ランダムモジュールをファイルの先頭にインポートします。最後ではありません

+0

ノー改善した、ということを試してみました。それはそれを修正するための一歩かもしれないが、私は別の問題がどこかにあると思う。 –

+0

^^問題が修正されました。それは修正するための一歩だった。ありがとうございます:P –