私はRPGを作成していますし、複数のファイルに分割してより良いものを整理しようとしています。 (つまり、キャラクターの作成だけで2000行以上だったのですが)これは私がやったことのないものですが、どうやってそれを行うのか本当に分かりません。だから、効率的に物事を設定する方法に関する一般的なアドバイスを得ることができたら、私は本当にそれを感謝します。私は実際には、私が読んだ、pythonのウェブサイト上のモジュールに関するページ以外は、この件に関して多く見つけることができませんでしたが、私はまだそれについて少し不明です。これは間違いなく最も混乱していて、今話題になっているのはプログラミングです...私はこのような漠然とした質問をするのは嫌ですが、私自身は進歩を遂げていませんので、あなたのうちの1人が私を正しい道につけることを望んでいます。複数のファイルをPythonでプログラミングするのに役立つ必要があります
具体的な例も示します。
私はキャラクターのすべての統計とスキルを1つまたは2つのリストに入れたいので、関数でそれらを使いやすくするために、別のファイルからのリストを引数として使用する手がかりがありません機能。これは私が試したことであり、うまくいくはずです。私はこのファイルをCharacterCreationにインポートして、 "StatCalculations.LevelUp(PLAYERSTATLIST)"を使用していますが、 '' module 'オブジェクトには' LevelUp '属性がありません。
私は間違っていますか?
from CharacterCreation import BaseHEALTH, BaseMANA, BaseSTAMINA, BaseCAPACITY, BaseDEFENSE, STRENGTH, ENDURANCE, AGILITY, INTELLIGENCE, PERSONALITY, BaseSTRENGTH, BaseENDURANCE, BaseAGILITY, BaseINTELLIGENCE, BasePERSONALITY, PLAYERLEVEL, PLAYERNAME
def LevelUp(*PLAYERSTATLIST):
HEALTH = BaseHEALTH + (ENDURANCE/2) + (STRENGTH/5)
MANA = BaseMANA + INTELLIGENCE + (ENDURANCE/10)
STAMINA = BaseSTAMINA + (STRENGTH/5) + (ENDURANCE/5)
CAPACITY = BaseCAPACITY + (STRENGTH/5) + (ENDURANCE/10)
DEFENSE = BaseDEFENSE + (ENDURANCE/10) + (AGILITY/10) + (STRENGTH/10)
PLAYERSTATLIST = [HEALTH, MANA, STAMINA, CAPACITY, DEFENSE, BaseHEALTH, BaseMANA, BaseSTAMINA, BaseCAPACITY, BaseDEFENSE, STRENGTH, ENDURANCE, AGILITY, INTELLIGENCE, PERSONALITY, BaseSTRENGTH, BaseENDURANCE, BaseAGILITY, BaseINTELLIGENCE, BasePERSONALITY, PLAYERLEVEL, PLAYERNAME]
return PLAYERSTATLIST
私はあなたのコードは、[オブジェクト指向プログラミング](http://en.wikipedia.org/wiki/Object_oriented_programming)メソッドを使用してから大幅に恩恵を受けることを考えなければならない - それはにだろういかに難しいかを検討あなたの巨大な選手の統計情報のリストで 'BaseHEALTH'と' BaseMANA'を交換した場合、バグを見つけてください。各プレーヤを 'Player'クラスのオブジェクトにし、その特性をクラスメンバとして格納します。したがって、それらを名前で参照することができ、このような順序変数については気にする必要はありません。 – sarnold
あなたがoopを学んでいるなら、[http://en.wikipedia.org/wiki/Single_responsibility_principle]はsarnoldのリンクを読んだ後で最初に読んでください。どういうわけか、最も才能のあるソフトウェアpplはそれを忘れてしまい、良いクラスデザインにとってはとても重要です。 – pyInTheSky
pyInTheSkyのリンクは、http://en.wikipedia.org/wiki/Single_responsibility_principle - 末尾に ']'を付けないでください。 – sarnold