反恐精英CS案例
游戏说明:
在全世界风靡起来的反恐精英是一种以团队合作为主的第一人称射击游戏,简称CS。根据面向对象的编程思维,模拟实现一个战士开枪射击敌人的场景。
游戏中主要包含两个角色:战士(玩家)和敌人,还有三个道具:枪、弹夹和子弹。其中战士和敌人的默认血量为100,它们一旦被子弹击中,就会因子弹的杀伤力而出现掉血行为,每次中击一次的血量减少10;枪里面默认是没有弹夹的,弹夹里面也没有子弹。战士若想持枪射击敌人,需要给弹夹装上子弹、给枪装弹夹,每次射击一次,子弹的数量减少一枚。
分析类具体如下:
(1)战士和敌人类:Person
属性:姓名(name)、血量(blood)、枪(gun)
方法:安装子弹(install_bullet)、安装弹夹(install_clip)、持枪(take_gun)、开枪(fire)
(2)子弹类:Bullet
属性:杀伤力(damage)
方法:伤害敌人(hurt)
(3)弹夹类:Clip
属性:最大容量(capacity)、当前子弹列表(current_list)
方法:放置子弹(save_bullets)、弹出子弹(launch_bullet)
(4)枪类:Gun
属性:弹夹(clip)
方法:链接弹夹(mounting_clip)、发射子弹(shoot)
具体代码如下:
"""
战士(玩家),敌人,枪,子弹,弹夹
"""
# 定义表示战士、敌人的类
class Person:
def __init__(self, name):
# 姓名
self.name = name
# 血量
self.blood = 100
self.gun = None
# 给弹夹安装子弹
def install_bullet(self, clip, bullet):
# 弹夹放置子弹
clip.save_bullets(bullet)
# 给枪安装弹夹
def install_clip(self, gun, clip):
# 枪链接弹夹
gu