敵を定義するクラスを作成しようとしています

あごひげを生やしたパンケーキ

私はこれ以外の言い方を本当に知りません:これは機能しますか、そしてブッシュステートメントのようにそれにもっと追加できますか?

class Enemy():

def __init__(self, name, HP, skills, attack, defense, loot, expget, flvrtxt):
    self.name = name
    self.HP = health
    self.skills = skills
    self.attack = attack
    self.defense = defense
    self.loot = loot
    self.expget = expget
    self.flvrtxt = text

bush = Enemy()
bush.name = "Bush"
bush.HP = 10
bush.skills = "none"
bush.attack = 0
bush.defense = 5
bush.loot = "A stick"
bush.expget = 50
bush.flvrtxt = "Just a bush, it cannot attack"

さらに追加するということは、基本的にブッシュの定義をコピーして貼り付け、統計を変更して、まったく新しい敵を作ることができるということですか?たとえば、これを追加できますか?:

imp = Enemy():
imp.name = "Imp"
imp.HP = 50
imp.skills = "none"
imp.attack = 10
imp.defense = 10
imp.loot = "gold"
imp.expget = 150
imp.flvrtxt = "Cliche RPG enemy"
ジョン・スターク

私の頭から離れて、私はあなたが達成しようとしていることに応じてあなたがこれについて行くことができる2つの方法を考えることができます。

コードを構造化する方法でEnemy、引数によって定義されるクラスのインスタンスを作成できます@Patrick Haughがコメントセクションで指摘したように、Enemyメソッドにタイトルを付けるように更新する、構築時にのすべての属性を明示的に設定できます__init__(self, name, HP, skills, attack, defense, loot, expget, flvrtxt)

class Enemy(object):

    def __init__(self, name, HP, skills, attack, defense, loot, expget, flvrtxt):
        self.name = name
        self.HP = HP
        self.skills = skills
        self.attack = attack
        self.defense = defense
        self.loot = loot
        self.expget = expget
        self.flvrtxt = flvrtext


bush = Enemy("Bush", 10, "none", 0, 5, "A Stick", 50, "Just a bush, it cannot attack")
imp = Enemy("Imp", 50, "none", 10, 10, "gold", 150, "Cliche RPG enemy")

または、特定のタイプのBushesとImpsをインスタンス化する場合は、クラスをサブクラス化する独自のクラスとして作成しEnemy、関連するフィールドに独自のデフォルト実装を設定することをお勧めします

class Bush(Enemy):

    def __init__(self):
        super(Bush, self).__init__("Bush", 10, "none", 0, 5, "A Stick", 50, "Just a bush, it cannot attack")

class Imp(Enemy):

    def __init__(self):
        super(Imp, self).__init__("Imp", 50, "none", 10, 10, "gold", 150, "Cliche RPG enemy")

この方法では、次のようなコードを記述して、クラスBushでaに対して定義したすべてのフィールドが事前に入力されたをインスタンス化できますBush

bush = Bush();

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

** kwargsを使用してクラスの属性を定義しようとしています

分類Dev

クラスを作成して使用しようとしています。名前 'is_empty'が定義されていません

分類Dev

親クラスを作成しようとしています

分類Dev

マクロ定義を理解しようとしています

分類Dev

タイプを使用してクラスを作成するときに__str__関数を定義するにはどうすればよいですか?

分類Dev

Javaでスレッドの敵対的なクラスを作成しないようにする方法

分類Dev

Javaでスレッドの敵対的なクラスを作成しないようにする方法

分類Dev

JavaScriptを使用して電卓を作成しようとしていますが、ケースを定義する方法がわかりません

分類Dev

FileDialogの設定パスを定義しようとしています

分類Dev

継承を使用してクラスを定義しようとすると、コンパイラがエラーを返します

分類Dev

変数の文字列を使用してJavaScriptオブジェクトを作成し、クラス名を定義するにはどうすればよいですか?

分類Dev

pygameを使って20秒ごとに新しい敵をスポーンさせようとしています

分類Dev

promise.allを定義しようとしています

分類Dev

ベクトルで行列を定義しようとしています

分類Dev

条件を使用してクラスを定義するにはどうすればよいですか?

分類Dev

新しいモデルを作成しようとすると、Djangoエラー:名前 '_'が定義されていません

分類Dev

Javaクラス、初期値を見つけるメソッドを作成しようとしています

分類Dev

異なるクラスオブジェクトの単一配列を作成しようとしています

分類Dev

異なるクラスオブジェクトの単一配列を作成しようとしています

分類Dev

proj4のtypescript定義を作成しようとしていますが、anonymous staticを宣言するにはどうすればよいですか?

分類Dev

新しい部屋に入るときに敵のスプライトが消えるように、どのようにして敵のスプライトを隔離しますか?

分類Dev

構造体を取り、値を設定する関数を使用してリンクリストを作成しようとしています

分類Dev

Laravelパスポートを使用してAPI認証を作成しました。認証トークンが間違っていると、「ルート[ログイン]が定義されていません」というエラーが送信されます。

分類Dev

インデックスを作成しようとしていますが、変数が定義された値に到達できません[Python]

分類Dev

ネストされたオブジェクトを定義しようとしています

分類Dev

Chromeでブックマークを作成しようとすると、コンソールに「ブラウザが定義されていません」というエラーが表示されます。

分類Dev

パスワードを作成するJavaプログラムを作成しようとしています

分類Dev

COM例外:ADOX.Catalogを作成しようとすると、「クラスが登録されていません」

分類Dev

Pygame:Spriteクラスを理解しようとしています

Related 関連記事

  1. 1

    ** kwargsを使用してクラスの属性を定義しようとしています

  2. 2

    クラスを作成して使用しようとしています。名前 'is_empty'が定義されていません

  3. 3

    親クラスを作成しようとしています

  4. 4

    マクロ定義を理解しようとしています

  5. 5

    タイプを使用してクラスを作成するときに__str__関数を定義するにはどうすればよいですか?

  6. 6

    Javaでスレッドの敵対的なクラスを作成しないようにする方法

  7. 7

    Javaでスレッドの敵対的なクラスを作成しないようにする方法

  8. 8

    JavaScriptを使用して電卓を作成しようとしていますが、ケースを定義する方法がわかりません

  9. 9

    FileDialogの設定パスを定義しようとしています

  10. 10

    継承を使用してクラスを定義しようとすると、コンパイラがエラーを返します

  11. 11

    変数の文字列を使用してJavaScriptオブジェクトを作成し、クラス名を定義するにはどうすればよいですか?

  12. 12

    pygameを使って20秒ごとに新しい敵をスポーンさせようとしています

  13. 13

    promise.allを定義しようとしています

  14. 14

    ベクトルで行列を定義しようとしています

  15. 15

    条件を使用してクラスを定義するにはどうすればよいですか?

  16. 16

    新しいモデルを作成しようとすると、Djangoエラー:名前 '_'が定義されていません

  17. 17

    Javaクラス、初期値を見つけるメソッドを作成しようとしています

  18. 18

    異なるクラスオブジェクトの単一配列を作成しようとしています

  19. 19

    異なるクラスオブジェクトの単一配列を作成しようとしています

  20. 20

    proj4のtypescript定義を作成しようとしていますが、anonymous staticを宣言するにはどうすればよいですか?

  21. 21

    新しい部屋に入るときに敵のスプライトが消えるように、どのようにして敵のスプライトを隔離しますか?

  22. 22

    構造体を取り、値を設定する関数を使用してリンクリストを作成しようとしています

  23. 23

    Laravelパスポートを使用してAPI認証を作成しました。認証トークンが間違っていると、「ルート[ログイン]が定義されていません」というエラーが送信されます。

  24. 24

    インデックスを作成しようとしていますが、変数が定義された値に到達できません[Python]

  25. 25

    ネストされたオブジェクトを定義しようとしています

  26. 26

    Chromeでブックマークを作成しようとすると、コンソールに「ブラウザが定義されていません」というエラーが表示されます。

  27. 27

    パスワードを作成するJavaプログラムを作成しようとしています

  28. 28

    COM例外:ADOX.Catalogを作成しようとすると、「クラスが登録されていません」

  29. 29

    Pygame:Spriteクラスを理解しようとしています

ホットタグ

アーカイブ