いいえ!!!を構築するVariableBox
ことはあなたを助けません!
必要な var を適用する場所に使用するだけです。グローバル変数が多すぎる場合は、グローバルと見なすべきものと、特定の構造に関係するものに問題があります。または、代わりに vars の名前付けや配列の作成が困難になることさえありvar1, var2, var3, ...
ます。
クラスは、オブジェクトを構築するために設計されています。つまり、特定性は異なりますが、同じ基礎を持つものを作成するために設計されています。価値のあるクラスとは、エンティティと、このエンティティの主な動作をある程度定義するものです。
編集:
Python は可視性の制約を提供しないため、単純にデータをクラスに詰め込むだけではデータを保護できません。エントリには、クラスのインスタンスがある場所からアクセスできます。
ゲッターを作成するか、単にクラスのインスタンスを維持するかは、どちらを使用するかを決定するだけの問題です。わかりやすくするために、ゲームにコントローラーを作成することをお勧めします。これにより、ゲーム アセットとゲームプレイの間にこのインターフェイスが作成されます。
たとえば、実行中に次のことができます。
class Controller:
def __init__():
self.turn = 0
self. ...
def begin():
self.turn += 1
self.opening_scene()
class Gameplay:
def __init__(self, num_players, turn, ...):
self.turn = turn # if it happens you want to use this value in the game
self.num_player = num_players
# Main loop
controller = Controller()
controller.num_players = int(raw_input("Number of players: "))
gameplay = Gameplay(controller.num_players, controller.turn)
while True:
if gameplay.action == ...:
elif ...:
...
elif *next turn*:
controller.next_turn() # to set things up to next turn
else ...:
...
内部Controller
で相関情報を集約することができるため、今後の関数でパラメーターの無限のリストが表示されることはありません。
いずれにせよ、どれが最適かはわかりません。これらのモジュール性の問題を研究している人はたくさんいますが、私はその 1 人ではありません。したがって、これはアプリで何がうまくいくかについての私の見解です。