クラス Monsters があり、インスタンスが作成されると、各モンスターをそこの武器にリンクする必要があります。元。グリフォン モンスターはグリフォン アタック 1 とグリフォン アタック 2 を持っている必要があります。もちろん、攻撃の名前は未定ですが、今のところ、グリフォン アタック 1 と 2 をうまく使用してください。
現在、私はこれを持っています。
#include <vector>
typedef enum {Living, Dead, Nature} Race;
typedef enum {Gryphon, Oracle, Mercenary,Templar,
Satyr,Fallin Angel,ArcAngel,Satan,Grimreaper,
Unbaptized Babies,Boggart,Succubus,Meat Wagon,
Djinns,Manticore,Water Nymph,Plant Nymph,
Mother Nature, Cannibal Tribesmen,Wyvern,
Vegetable Lamb, Ent, Lava Worm, Alpha Dragon
} MonsterType;
typedef enum {gryphon1,Oracle1, Mercenary1,Templar1,
Satyr1,Fallin Angel1,ArcAngel1,Satan1,Grimreaper1,
Unbaptized Babies1,Boggart1,Succubus1,Meat Wagon1,
Djinns1,Manticore1,Water Nymph1,Plant Nymph1,
Mother Nature1, Cannibal Tribesmen1,Wyvern1,
Vegetable Lamb1, Ent1, Lava Worm1,Alpha Dragon1,
Gryphon2, Oracle2, Mercenary2,Templar2,
Satyr2,Fallin Angel2,ArcAngel2,Satan2,Grimreaper2,
Unbaptized Babies2,Boggart2,Succubus2,Meat Wagon2,
Djinns2,Manticore2,Water Nymph2,Plant Nymph2,
Mother Nature2, Cannibal Tribesmen2,Wyvern2,
Vegetable Lamb2, Ent2, Lava Worm2, Alpha Dragon2
} Weapon;
Class Monsters{
protected:
MonsterType type;
Race race;
std::vector<Weapon> weapon_list;
public:
bool flying;
bool lava;
bool water;
int life;
int karmaCost;
int move;
int crit;
int defMagic;
int defNonMagic;
bool isDead;
bool canMove;
bool canAttack;
bool onFlag;
int nextTurn;
};
ベクトルについてはよくわかりませんが、それが必要かどうかは、私がいじっていたいくつかの実験でした..しかし、武器をモンスターにリンクする最良の方法は何ですか? また、各武器にはそれに伴う値があることに注意してください。
gryphon attack 1 {
int range = 10
int ticks = 5
bool magical = false
int power = 23
bool heals = false
}
gryphon attack 2 {
int range = 5
int ticks = 7
bool magical = true
int power = 29
bool heals = true
}
実際の値はiniまたはネットワークから読み込まれるため、実際の値についてはまだ心配していませんが、値を追加できることを知る必要があります gryphon->weapon1->range = 5
私はまだこれに非常に慣れていないので、何か非常に間違っていると思われる場合は教えてください.