#コード
class Weapon:
def abs(self, item, power):
self.item = item
self.power = power
class Character:
def init(self, name, hp, power):
self.name = name
self.hp = hp
self.power = power
class Monster(Character):
def init(self, name, hp, power, num):
super().init(name, hp, power)
self.num = num
class Hero(Character):
def init(self, name, hp, power, weapon):
super().init(name, hp, power)
self.equip_power = power + weapon.power
self.weapon = weapon.item
def get(self,weap):
if self.weapon == weap.item:
print('既に{0}を装備しています。攻撃力は{1}です。'
.format(weap.item,self.equip_power))
else:
self.equip_power=self.power + weap.power
self.weapon = weap.item
print('武器を{0}に変更しました。攻撃力は{1}になります。'
.format(weap.item,self.equip_power))
def encounter(self, monster): print('{}と遭遇しました。'.format(monster.name)) while True: battle = input('戦いますか。【1:戦う 2:逃げる】:') if int(battle) == 1: monster.hp = monster.hp - self.equip_power print('{0}に{1}のダメージ'.format(monster.name, self.equip_power)) if monster.hp > 0: for i in range(monster.num): self.hp = self.hp - monster.power if self.hp > 0: print(i + 1, '回目の{0}の攻撃です。{1}のHPは残り{2}です。' .format(monster.name, self.name, self.hp)) else: print('{0}回目の攻撃です。{2}のHPは残り0です。' .format(i + 1, monster.name, self.name)) print('Game Over') break if self.hp <= 0: break else: print('{}を倒しました。'.format(monster.name)) break elif int(battle) == 2: print('{}は逃げ出した。'.format(self.name)) break else: print('そのコマンドはありません。') continue
no = Weapon('素手',0)
sord1 = Weapon('ひのきのぼう',5)
sord2 = Weapon('伝説の剣',40)
yusha = Hero('勇者',100,10,no)
maou = Monster('魔王',1000,10,3)
slime = Monster('スライム',10,1,1)
yusha.get(sord1)
yusha.get(sord1)
yusha.get(sord2)
yusha.encounter(slime)
yusha.encounter(maou)
####これを実行するとTypeError: Weapon() takes no argumentsが表示されます。
####どこを直せばよろしいでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。