python面向对象程序设计实践(高级)——以《三国演义》中三英大战吕布为例
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面向对象程序设计实践(高级)——以《三国演义》中三英大战吕布为例相关推荐
- python面向对象程序设计实践(初级)——以《三国演义》中三英大战吕布为例
python面向对象程序设计实践(初级) --以<三国演义>中三英大战吕布为例 设计实现思路: 定义武器类:武器名,攻击力 定义人物类:继承武器类,姓名,生命值 延时函数:延时0.5秒 实 ...
- JAVA循环嵌套+分支结构游戏---(以《三国演义》中三英大战吕布为例)
我们做一个java基础学习中关于循环嵌套加分支语句综合应用的破解小游戏--三英大战吕布为例代码如下: package assignment;import java.util.Scanner;publi ...
- python核心编程:Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
这篇文章主要介绍了Python面向对象程序设计中类的定义.实例化.封装及私有变量/方法,结合具体实例形式较为详细的分析了Python面向对象程序设计中类的定义.实例化.封装.私有变量.私有方法等相关使 ...
- python面向对象程序设计实训学生自我总结_Python面向对象程序设计示例小结
本文实例讲述了Python面向对象程序设计.分享给大家供大家参考,具体如下: 示例1: #encoding:utf-8 '''example 1 class test: def __init__(se ...
- C++面向对象程序设计大作业:魔兽世界(三):开战
C++面向对象程序设计大作业:魔兽世界(三):开战 问题描述 问题分析 代码 问题描述 问题来自于北京大学郭炜老师的C++慕课的大作业 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部 ...
- 面向对象程序设计(Java) 课程设计——三少五子棋(Final)
背景:设计五子棋游戏背景, 初步猜想: ① 设计一个五子棋小游戏,实现人机对战和双人对战两功能. ② 设计五子棋小游戏,使用Java Swing设计可视化操作界面,并使用GraPhic 2D技术设计图 ...
- 三国演义与设计模式之Decorator模式(1.虎牢关三英战吕布 2.云长降曹受封赏)...
写在前面: 以下三点,适用于本系列所有文章. 1.同一个故事,从不同的角度看,就可以引申出不同的模式.本系列中所举模式,未必是当前故事是匹配的,还望大家多提意见,一起讨论,一起提高. 2.类图部分只 ...
- Python面向对象程序设计中对象析构方法的调用时机
开学第一课:一定不要这样问老师Python问题 中国大学MOOC"Python程序设计基础"第6次开课时间 董付国老师Python系列教材推荐与选用参考 ============= ...
- python语言程序设计实践教程答案实验六_Python程序设计实践教程
书名:Python程序设计实践教程 定价:29.8 ISBN:9787115532602 作者:储岳中 薛希玲 版次:*1版 出版时间:2020-04 内容提要: 本书是Python语言程序设计的配套 ...
最新文章
- 【Android】Activity的task相关
- 项目计划定制:项目计划划分与产品项目推进的有机结合
- 自主驱动发展 创新引领未来丨第九届数据技术嘉年华大会全议程精彩呈现
- 生成网上下载的EF项目对应的数据库
- iOS 代码触发button点击事件
- 【bzoj4940】这是我自己的发明
- Android集成B站弹幕库Danmaku
- 编写一个猜数字游戏程序。
- Spring Security Oauth2单点登录原理与技术
- 移动app用户体验与性能优化
- Pvr_Controller
- 微信服务号如何创建一个带参数的微信二维码?
- 2022年全球市场燃油液位传感器总体规模、主要生产商、主要地区、产品和应用细分研究报告
- disallow: /api.php,dz论坛如何禁止搜索引擎抓取任何内容?
- android qq apk,仿QQ获取手机中的APK并分享的实现
- [转]齐善鸿:职业心智训练与管理教育
- vue 视频播放(使用vue-video-player)
- 趋势交易法之区间跨度
- 开启电脑自带的远程控制
- Linux中的用户与权限