Python 完成while循环

Python 完成while循环,python,python-3.x,class,inheritance,methods,Python,Python 3.x,Class,Inheritance,Methods,#代码项目:射击游戏 你正在创造一个射击游戏 游戏有两种敌人,外星人和怪物。你用激光射杀外星人,用枪射杀怪物。每一击减少敌人1点生命。给定的代码声明了一个通用的敌人类,以及外星人和怪物类,以及它们相应的生命计数。它还定义了敌方类的hit()方法 您需要执行以下操作以完成该程序: 1。从敌人职业继承外星人和怪物职业 2.完成while循环,该循环从用户输入中连续获取所选武器,并调用相应对象的hit()方法 样本输入: laser laser gun exit Alien has 4 lives

#代码项目:射击游戏

你正在创造一个射击游戏

游戏有两种敌人,外星人和怪物。你用激光射杀外星人,用枪射杀怪物。每一击减少敌人1点生命。给定的代码声明了一个通用的敌人类,以及外星人和怪物类,以及它们相应的生命计数。它还定义了敌方类的hit()方法

您需要执行以下操作以完成该程序:

1。从敌人职业继承外星人和怪物职业

2.完成while循环,该循环从用户输入中连续获取所选武器,并调用相应对象的hit()方法

样本输入:

laser
laser
gun
exit
Alien has 4 lives
Alien has 3 lives 
Monster has 2 lives
while True:
    x = input()
    if x == 'exit':
        break
    elif x == 'laser':
        a.hit()
    elif x == 'gun':
        m.hit()
        
样本输出:

laser
laser
gun
exit
Alien has 4 lives
Alien has 3 lives 
Monster has 2 lives
while True:
    x = input()
    if x == 'exit':
        break
    elif x == 'laser':
        a.hit()
    elif x == 'gun':
        m.hit()
        
我完成了第一部分,但需要第二部分的帮助

class Enemy:
  name = ""
  lives = 0
  def __init__(self, name, lives):
    self.name = name
    self.lives = lives

  def hit(self):
    self.lives -= 1
    if self.lives <= 0:
       print(self.name + ' killed')
    else:
        print(self.name + ' has '+ str(self.lives) + ' lives')

class Monster(Enemy):
  def __init__(self):
    super().__init__('Monster', 3)

class Alien(Enemy):
  def __init__(self):
    super().__init__('Alien', 5)


m = Monster()
a = Alien()

while True:
    x = input()
    if x == 'exit':
        break
class敌人:
name=“”
寿命=0
定义初始(自我、姓名、生命):
self.name=名称
自我生活
def命中(自身):
self.lifes-=1

如果self.lifes在询问有关stackoverflow的任何问题时,请遵循社区指南。请查看此链接

查看此代码:

laser
laser
gun
exit
Alien has 4 lives
Alien has 3 lives 
Monster has 2 lives
while True:
    x = input()
    if x == 'exit':
        break
    elif x == 'laser':
        a.hit()
    elif x == 'gun':
        m.hit()
        

谢谢你,它成功了