2017-11-03 15 views
1

だから、私はちょっと前に数ヵ月前にそれを学び始めたので、Pythonの初心者です。私は現在自分のゲームを作ろうとしています(それはスーパーになるとは期待していませんが、うまく働きたいと思っています)。ゲームは基本的にダンジョンを回り、モンスターと戦い、レベリングアップ、パズルを行い、ボス。基本的に、あなたの平均的なRPGゲーム。私はそれをすべてテキストにしています。現在、私のレベルアップスクリプトと私の統計スクリプトのためのコードの一部に固執しています。私は統計情報の中で "構成"と呼ばれる変数を持っていて、レベルアップすると(exp> = expmaxの場合)、構成の値に3を加えます。 1は統計スクリプト内の私のコードですPython 3:別のスクリプトで変数を変更するにはどうすればよいですか?

import LevelUP 
    constitution = 10 

こと(10時から始まり)、および1つはLevelUPスクリプト内のコードです。

import Stats 
    level = 1 
    expMax = 100 
    exp = 100 
    if exp >= expMax: 
     level=level+1 
     exp = 0 
     expMax = expMax+expMax*0.5 
     Stats.constitution = Stats.constitution+3 
     Stats.strength = Stats.strength+4 
     Stats.dexterity = Stats.dexterity+4 
     Stats.intelligence = Stats.intelligence+3 
     Stats.wisdom = Stats.wisdom+3 
     Stats.charisma = Stats.charisma+2 
     Stats.luck = Stats.luck+2 

これは、サイトへの新規の種類

アップ

Traceback (most recent call last): 
     File "main.py", line 3, in <module> 
     import Stats 
     File "/home/runner/Stats.py", line 1, in <module> 
     import LevelUP 
     File "/home/runner/LevelUP.py", line 9, in <module> 
     Stats.constitution = Stats.constitution+3 
    AttributeError: module 'Stats' has no attribute 'constitution' 
    exited with non-zero status 
来るエラーですが、私はこのような何かのために周りを見回していると私は見つけることができるすべてが異なるスクリプトで印刷を()を使用しました。

答えて

0

コードに循環インポートがあります。可能性のある望ましくない動作でCircular imports in Pythonを参照してください。

とにかく、あなたのStatsモジュールはLevelUpを必要としないようですね。あなたのアーキテクチャを再考することをお勧めします。

+0

ありがとうございます!私はあなたにそれを見せていただきありがとうございます。 LevelUpモジュールのすべてのコードをStatsモジュールに貼り付けることになり、完全に機能しました。私のコードを持っている方法では、統計のいくつかの変数がLevelupで使用されていたため、両方をインポートする必要がありました。また、Levelupの変数の中にはStatsでの使用がありました。 – Zarfus

関連する問題