You are on page 1of 3

#ifndef WEAPON_H

#define WEAPON_H
#include <string>
using namespace std;

// ��¦�Z�����
class Weapon
{
protected:
int Price; // �Z�����
int ATK; // �Z������O
string Name; // �Z���W��
string Level; // �Z������
public:
Weapon(int price = 0, int atk = 0, string name = "", string level = "")
{
Price = price;
ATK = atk;
Name = name;
Level = level;
}
int GetPrice() { return Price; }
int GetATK() { return ATK; }
string GetName() { return Name; }
string GetLevel() { return Level; }
virtual ~Weapon() {}
};

// �Ԥh�Z���
class WarriorWeapon : public Weapon
{
public:
WarriorWeapon(int price = 0, int atk = 0, string name = "", string level =
"") : Weapon(price, atk, name, level) {}
~WarriorWeapon() {}
};

class WarriorWeapon1 : public WarriorWeapon


{
public:
WarriorWeapon1(int price = 500, int atk = 70, string name = "���C", string
level = "�ջ�") : WarriorWeapon(price, atk, name, level) {}
~WarriorWeapon1() {}
};

class WarriorWeapon2 : public WarriorWeapon


{
public:
WarriorWeapon2(int price = 1000, int atk = 130, string name = "���C", string
level = "���") : WarriorWeapon(price, atk, name, level) {}
~WarriorWeapon2() {}
};

class WarriorWeapon3 : public WarriorWeapon


{
public:
WarriorWeapon3(int price = 1800, int atk = 220, string name = "���C", string
level = "�ժ�") : WarriorWeapon(price, atk, name, level) {}
~WarriorWeapon3() {}
};

class WarriorWeapon4 : public WarriorWeapon


{
public:
WarriorWeapon4(int price = 3000, int atk = 350, string name = "���C", string
level = "�p��") : WarriorWeapon(price, atk, name, level) {}
~WarriorWeapon4() {}
};

// �Z�J�Z���
class TankWeapon : public Weapon
{
public:
TankWeapon(int price = 0, int atk = 0, string name = "", string level = "") :
Weapon(price, atk, name, level) {}
~TankWeapon() {}
};

class TankWeapon1 : public TankWeapon


{
public:
TankWeapon1(int price = 400, int atk = 50, string name = "�ި�", string level =
"�ջ�") : TankWeapon(price, atk, name, level) {}
~TankWeapon1() {}
};

class TankWeapon2 : public TankWeapon


{
public:
TankWeapon2(int price = 800, int atk = 100, string name = "�ި�", string level =
"���") : TankWeapon(price, atk, name, level) {}
~TankWeapon2() {}
};

class TankWeapon3 : public TankWeapon


{
public:
TankWeapon3(int price = 1500, int atk = 180, string name = "�ި�", string level
= "�ժ�") : TankWeapon(price, atk, name, level) {}
~TankWeapon3() {}
};

class TankWeapon4 : public TankWeapon


{
public:
TankWeapon4(int price = 2500, int atk = 300, string name = "�ި�", string level
= "�p��") : TankWeapon(price, atk, name, level) {}
~TankWeapon4() {}
};

// ��ȪZ���
class AssassinWeapon : public Weapon
{
public:
AssassinWeapon(int price = 0, int atk = 0, string name = "", string level = "")
: Weapon(price, atk, name, level) {}
~AssassinWeapon() {}
};
class AssassinWeapon1 : public AssassinWeapon
{
public:
AssassinWeapon1(int price = 450, int atk = 60, string name = "�Z�h�M",
string level = "�ջ�") : AssassinWeapon(price, atk, name, level) {}
~AssassinWeapon1() {}
};

class AssassinWeapon2 : public AssassinWeapon


{
public:
AssassinWeapon2(int price = 900, int atk = 120, string name = "�Z�h�M",
string level = "���") : AssassinWeapon(price, atk, name, level) {}
~AssassinWeapon2() {}
};

class AssassinWeapon3 : public AssassinWeapon


{
public:
AssassinWeapon3(int price = 1650, int atk = 200, string name = "�Z�h�M",
string level = "�ժ�") : AssassinWeapon(price, atk, name, level) {}
~AssassinWeapon3() {}
};

class AssassinWeapon4 : public AssassinWeapon


{
public:
AssassinWeapon4(int price = 2750, int atk = 320, string name = "�Z�h�M",
string level = "�p��") : AssassinWeapon(price, atk, name, level) {}
~AssassinWeapon4() {}
};
#endif

You might also like