2016-03-20 21 views
-2

私はポケモンシミュレータを作ろうとしていますが、TypeオブジェクトをMoveオブジェクトに渡そうとしていますが、これをどのように渡すのか分かりません。あなたのように「タイプ」オブジェクトを持つようにしたい場合は別のオブジェクトの__init__ステートメントでオブジェクトを受け入れる方法は?

class Type: 
    def __init__(self): 
     self.name="fire" 
     self.atNOR=1 
     self.atFIG=1 
     self.atFLY=1 
     self.atPOS=1 
     self.atGRO=1 
     self.atROC=1 
     self.atBUG=1 
     self.atGHO=1 
     self.atFIR=1 
     self.atWAT=1 
     self.atGRA=1 
     self.atELE=1 
     self.atPSY=1 
     self.atICE=1 
     self.atDRA=1 
class Move: 
    def __init__(self): 
     self.name = "tackle" 
     self.power= 0 
     self.ability= "none" 
     self.type= normal 

これは単なるデータ型ではない通常の私に指示、私はこの行がタイプ

+0

「正常」とは何ですか?その定義をコードスニペットに含めることができますか? –

+0

実際にはPythonでは、オブジェクトの型はオブジェクトそのものです。今あなたが 'self.type'に入れたいと思っているものは? – Kasramvd

+0

normalは、MoveオブジェクトのデフォルトのTypeとします。 – Dad

答えて

1

として、この通常の変数を定義するために方法がわかりません移動オブジェクト内の属性、あなたは「構図パターン」を使用する必要があります(ので、移動してい-タイプ):

class Move: 
    def __init__(self): 
     self.name = "tackle" 
     self.power = 0 
     self.ability = "none" 
     self.type = Type() 

合成/相続here

LearnPythonThの詳細eHardwayは、Pythonを学ぶのに必ずしも良いリソースではありませんが、このトピックでは、実際にはかなりうまくいきます。

その他の構成に関するリソース:here。 "Type"をクラス名として使用しても注意してください。小文字のtypeは、実際には組み込みのPythonクラスであり、メタクラスプログラミング(または一般的にクラスを作成する)の構築に使用できます。

+0

ありがとう、これは私が必要としていたものです。 – Dad

関連する問題