python面向对象程序设计实践(初级)

——以《三国演义》中三英大战吕布为例

设计实现思路:

设计类

  • 定义武器类:武器名,攻击力
  • 定义人物类:继承武器类,姓名,生命值

设计函数简化对象的使用

  • 延时函数:延时0.5秒
  • 查看生命值:查看所有对象的生命值
  • 统一回复生命值:所有对象生命值+1
  • 选择英雄
  • 攻击:进攻者发起攻击, 使被进攻者生命值减少
  • 三连击:进攻者连续三次攻击被进攻者
  • 宣布战斗结果

辅助方法打印显示功能

  • 打印符号
  • 打印菜单
  • 显示英雄列表

测试实例化对象,调用编写方法

  • 测试对象、类及函数方法:使用while循环,调用函数方法。

下载相关PPT课件,请点击: python面向对象程序设计实践(高级)——以《三国演义》中三英大战吕布为例.pptx

#定义武器类:武器名,攻击力
class Wuqi():def __init__(self,tools,fight):self.fight = fightself.tools = tools#定义人物类,继承武器类,姓名,生命值
class People(Wuqi):#初始化方法def __init__(self,name,life,tools,fight):super().__init__(tools,fight)self.name = nameself.life = life#每次回复1点生命值  def eat(self):sleep()if self.life <= 0:print(self.name,'已阵亡!')elif self.life == 100:print(self.name,'已满血!')else:self.life += 1print(self.name,'生命值+1~')#查看当前生命值def is_alive(self):sleep()if self.life <= 0:print(self.name,'已阵亡!')else:print(self.name,'的生命值还有',self.life)#攻击def attack(self,people):people.life -=self.fightprint("%s正在攻击%s~"%(self.name,people.name))sleep() print(people.name,'生命值-',self.fight)sleep()#三连击攻击技能def attack_3(self,people):people.life -=(self.fight*3)print("%s正在攻击%s~"%(self.name,people.name))sleep() print(people.name,'生命值-',self.fight*3)sleep()#延时函数:延时0.5秒
import time
def sleep():time.sleep(0.5)#查看生命值:查看所有对象的生命值
def see_life():gy.is_alive()zf.is_alive()lb.is_alive()lvbu.is_alive()#统一回复生命值:所有对象生命值+1
def add_life():gy.eat()zf.eat()lb.eat()lvbu.eat()#攻击:进攻者发起攻击, 使被进攻者生命值减少
def gj(p1,p2):p1.attack(p2)#三连击:进攻者连续三次攻击被进攻者
def gj_3(p1,p2):p1.attack_3(p2)#打印符号
def print_sign(s):print(s*20)#打印菜单
def menu():print_sign(">")print("三英战吕布V2.0")print("请根据提示输入:")print("1、查看当前生命值")print("2、攻击")print("3、三连击")print("4、本轮休战")print("5、结束游戏")print_sign("...")#显示英雄列表
def p_list():print_sign("...")print("英雄列表:")print("1、刘备")print("2、关羽")print("3、张飞")print("4、吕布")print_sign("...")#选择英雄
def p_select(num):if num == '1':return  lbelif num == '2':return  gyelif num == '3':return  zfelif num == '4':return  lvbuelse:return  'none'#宣布战斗结果
def is_win():if lvbu.life <= 0:print("吕布已阵亡!")else:print("吕布存活!")#测试对象、类及函数方法:使用while循环,调用函数方法。
if __name__ =="__main__":#初始化人物对象gy = People('关羽',100,'青龙偃月刀',10)zf = People('张飞',100,'八丈蛇矛',8)lb = People('刘备',100,'双股剑',7)lvbu = People('吕布',100,'方天画戟',15)while True:#打印菜单选项menu()key = input("请输入功能相应的数字:")#1、查看当前生命值if key == '1':see_life()#2、攻击elif key == '2':p_list()p1 = input("请输入进攻者编号:")p2 = input("请输入被攻击者编号:")p3 = p_select(p1)p4 = p_select(p2)if p3 == 'none' or p4 == 'none':print("请正确输入人物编号!")else:gj(p3,p4)#3、三连击elif key == '3':p_list()p1 = input("请输入三连击进攻者编号:")p2 = input("请输入三连击被攻击者编号:")p3 = p_select(p1)p4 = p_select(p2)if p3 == 'none' or p4 == 'none':print("请正确输入人物编号!")else:gj_3(p3,p4)#4、本轮休战      elif key =='4':add_life()see_life()#5、结束游戏elif key == '5':see_life()#调用宣布战斗结果值is_win()print("本次战役结束!")#跳出循环break

python面向对象程序设计实践(高级)——以《三国演义》中三英大战吕布为例相关推荐

  1. python面向对象程序设计实践(初级)——以《三国演义》中三英大战吕布为例

    python面向对象程序设计实践(初级) --以<三国演义>中三英大战吕布为例 设计实现思路: 定义武器类:武器名,攻击力 定义人物类:继承武器类,姓名,生命值 延时函数:延时0.5秒 实 ...

  2. JAVA循环嵌套+分支结构游戏---(以《三国演义》中三英大战吕布为例)

    我们做一个java基础学习中关于循环嵌套加分支语句综合应用的破解小游戏--三英大战吕布为例代码如下: package assignment;import java.util.Scanner;publi ...

  3. python核心编程:Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解

    这篇文章主要介绍了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法,结合具体实例形式较为详细的分析了Python面向对象程序设计中类的定义.实例化.封装.私有变量.私有方法等相关使 ...

  4. python面向对象程序设计实训学生自我总结_Python面向对象程序设计示例小结

    本文实例讲述了Python面向对象程序设计.分享给大家供大家参考,具体如下: 示例1: #encoding:utf-8 '''example 1 class test: def __init__(se ...

  5. C++面向对象程序设计大作业:魔兽世界(三):开战

    C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...

  6. 面向对象程序设计(Java) 课程设计——三少五子棋(Final)

    背景:设计五子棋游戏背景, 初步猜想: ① 设计一个五子棋小游戏,实现人机对战和双人对战两功能. ② 设计五子棋小游戏,使用Java Swing设计可视化操作界面,并使用GraPhic 2D技术设计图 ...

  7. 三国演义与设计模式之Decorator模式(1.虎牢关三英战吕布 2.云长降曹受封赏)...

     写在前面: 以下三点,适用于本系列所有文章. 1.同一个故事,从不同的角度看,就可以引申出不同的模式.本系列中所举模式,未必是当前故事是匹配的,还望大家多提意见,一起讨论,一起提高. 2.类图部分只 ...

  8. Python面向对象程序设计中对象析构方法的调用时机

    开学第一课:一定不要这样问老师Python问题 中国大学MOOC"Python程序设计基础"第6次开课时间 董付国老师Python系列教材推荐与选用参考 ============= ...

  9. python语言程序设计实践教程答案实验六_Python程序设计实践教程

    书名:Python程序设计实践教程 定价:29.8 ISBN:9787115532602 作者:储岳中 薛希玲 版次:*1版 出版时间:2020-04 内容提要: 本书是Python语言程序设计的配套 ...

最新文章

  1. 【Android】Activity的task相关
  2. 项目计划定制:项目计划划分与产品项目推进的有机结合
  3. 自主驱动发展 创新引领未来丨第九届数据技术嘉年华大会全议程精彩呈现
  4. 生成网上下载的EF项目对应的数据库
  5. iOS 代码触发button点击事件
  6. 【bzoj4940】这是我自己的发明
  7. Android集成B站弹幕库Danmaku
  8. 编写一个猜数字游戏程序。
  9. Spring Security Oauth2单点登录原理与技术
  10. 移动app用户体验与性能优化
  11. Pvr_Controller
  12. 微信服务号如何创建一个带参数的微信二维码?
  13. 2022年全球市场燃油液位传感器总体规模、主要生产商、主要地区、产品和应用细分研究报告
  14. disallow: /api.php,dz论坛如何禁止搜索引擎抓取任何内容?
  15. android qq apk,仿QQ获取手机中的APK并分享的实现
  16. [转]齐善鸿:职业心智训练与管理教育
  17. vue 视频播放(使用vue-video-player)
  18. 趋势交易法之区间跨度
  19. 开启电脑自带的远程控制
  20. Linux中的用户与权限

热门文章

  1. R语言ggplot2可视化:使用element_text函数设置轴标题文本为粗体字体(Bold Font,只设置Y轴的标题文本使用粗体字体)
  2. 中海达:多技术融合 提升企业竞争力
  3. 计算机专业数学知识点,计算机专业数学教学过程中学习兴趣和能力的培养
  4. Apache Syncope
  5. 可调速js视频播放器
  6. 计算机命令怎么输入,装备属性指令怎么输入 装备属性指令输入方法
  7. AlpineLinux安装桌面 (kde桌面)
  8. GitHub无法打开或加载慢的解决方法
  9. PPT报告直接领,这份51页「大数据决策分析平台搭建方案」真的很值
  10. 如何制作高质量的PPT