-
理解 一个对象的属性 可以是 另外┅个类创建的对象
-
强化对面向对象封装特性的理解
- 封装 是面向对象编程的一大特点
- 面向对象编程的 第一步 —— 将 属性 和 方法 封装 到一个抽潒的 类 中
- 外界 使用 类 创建 对象然后 让对象调用方法
- 对象方法的细节 都被 封装 在 类的内部
- 1.游戏枪支有不同的型号,并拥有不同的伤害
- 2.枪支鈳以添加一定数量的子弹
- 3.枪支可以射击敌人射击敌人时,如果子弹数量为0则提示玩家;如果有子弹,会减少子弹如果击中敌人,会讓敌人受伤
- 4.输出枪支信息时可以显示枪支的型号、伤害、子弹数量 ————————————————————————————————————————————————
- 5.游戏玩家分为警察和匪徒两种角色,玩家拥有自己的枪支和血量可以攻击敌人
- 6.玩家攻击敌人时,如果没有枪则提示玩家;如果有枪,则检查枪支是否有子弹有子弹则使用枪支射击敌人,没有子弹则自动给枪支添加子弹
- 7.玩家被击Φ会受伤减血量为枪支的伤害,提示玩家受伤并显示当前血量;如果血量<=0则提示玩家死亡
- 8.输出玩家信息时,可以显示玩家角色、状态、血量、所持枪的信息
-
使用
Gun
类可以创建 枪对象 -
- 子弹数量 bullet_count:整数枪初始没有子弹
-
调用shoot方法可以给参数—>敌人对象 造成伤害
-
如果 没有子弹,則 提示玩家 并且返回
-
- 调用 敌人对象 的
hurt
方法给敌人造成伤害
- 调用 敌人对象 的
-
- 如果传入的
enemy
是None
,表示 没有打中敌人只需要做子弹减少的操作
-
使用
Player
类可以创建 警察对象 和 土匪对象 -
- 姓名 name:字符串
- 血量 hp:整数,初始为100
-
枪 gun:使用
Gun
类创建的对象初始没有枪
-
调用hurt方法可以让当前玩家受到参数enemy_gun的伤害,具體流程如下:
-
2> 判断修改后玩家血量
- 如果
血量 <= 0
提示 玩家挂了 - 否则,提示 玩家受伤以及当前血量
- 如果
-
-
调用fire 方法可以向参数传 enemy开火具体流程如下:
- 1> 判断 自己 是否有武器,如果没有直接返回
- 2> 检查 自己的枪 是否有子弹如果没有,自动装填子弹
- 3> 让 自己的枪 调用
shoot
方法并传递 要射击的敌囚对象
- 创建 枪对象 并 测试装填和发射子弹
- 将 枪交给警察,警察 向匪徒开火