python初学者,刚学到面向对象...

#双人对决
'''
name=玩家的名字;
hp基本属性固定100;
stochastic()玩家技能攻击,随机伤害5-29,随机到30再次给予10伤害
cut()普通攻击,固定伤害10
blood()增加血量,随机8-19,随机到20直接回复30血量
def boss()函数决定电脑攻击模式,3/5概率出普通攻击,1/5概率回血和咸鱼突刺
'''
import time #导入时间的包
import random   #导入随机模块
class Hero:def __init__(self,name):    #初始函数self.name=name  #初始角色名self.hp=100     #初始血量def __str__(self):  #直接打印对象,返回str类型,否则默认指向内存地址return '【%s】血量值:%s'%(self.name,self.hp)def stochastic(self,enemy):    #设置技能攻击hurt=random.randint(5,30) # 设置技能随机伤害enemy.hp-=hurt    #敌人随机减少血量if hurt<=20:print('{}对{}使用技能造成了伤害 -{}!'.format(self.name,enemy.name,hurt))elif hurt>20 and hurt<30:print('{}对{}使用技能造成了暴击 -{}!!'.format(self.name,enemy.name,hurt))elif hurt==30:print('{}对{}使用出了会心一击!!! -{}'.format(self.name,enemy.name,hurt))enemy.hp-=10print('会心一击造成二次伤害! -10')def cut(self,enemy):   #设置普通攻击enemy.hp -= 10  #敌人固定减掉10滴血print('{}捅了{}一刀,-10。'.format(self.name, enemy.name))def blood(self):    #设置回血技能hp_rs=random.randint(8, 20)  #设置回血随机数if hp_rs<20:self.hp+=hp_rs  #随机数回血print('{}使用了回血技能,增加{}血!'.format(self.name,hp_rs))else:self.hp+=30print('{}触发了天籁之音,增加30血!'.format(self.name))
def boss(): #设置BOSS模式函数cpu_rs=random.randint(1, 5)if cpu_rs==1 or cpu_rs==2 or cpu_rs==3:xyw.cut(player)elif cpu_rs==4:xyw.blood()else:print('咸鱼王使用了奥义,对你造成2连击!!\n咸鱼王:吃我咸鱼突刺!!\n{} -12\n{} -13'.format(player.name,player.name))player.hp-=25
#创建2个实例化对象
player=Hero('玩家')
xyw=Hero('咸鱼王')
print('欢迎玩家挑战咸鱼王,双方初始血量100,准备开始吧!')
while True:if player.hp <= 0 and xyw.hp <= 0:  #双方血量同时低于0退出游戏time.sleep(1)  # 休眠暂停一秒钟print('-' * 30)  # 分隔符print('你们同归于尽了...')breakelif xyw.hp <= 0:     #咸鱼王血量低于0退出游戏time.sleep(1)  # 休眠暂停一秒钟print('-' * 30)  # 分隔符print('咸鱼王死了...')print(player)   #打印玩家血量time.sleep(1)  # 休眠暂停一秒钟print('恭喜玩家获得胜利!')breakelif player.hp <= 0:  #玩家血量低于0退出游戏time.sleep(1)  # 休眠暂停一秒钟print('-' * 30)  # 分隔符print('你死了...')print(xyw)  # 打印咸鱼王血量time.sleep(1)  # 休眠暂停一秒钟print('咸鱼王对你发出了嘲讽...')breakprint('-' * 30) #分隔符print(player)   #打印玩家血量print(xyw)  #打印咸鱼王血量print('-' * 30) #分隔符userIn = int(input('(1)普通攻击(2)技能攻击(3)加血技能,请输入数字:'))if userIn == 1:player.cut(xyw) #玩家砍了咸鱼王一刀print('咸鱼王准备中...')time.sleep(1)   #休眠暂停一秒钟boss()  #调用咸鱼王模式函数elif userIn == 2:player.stochastic(xyw) #玩家使用技能攻击咸鱼王print('咸鱼王准备中...')time.sleep(1)   #休眠暂停一秒钟boss()  #调用咸鱼王模式函数elif userIn == 3:player.blood()     #玩家使用回血技能print('咸鱼王准备中...')time.sleep(1)   #休眠暂停一秒钟boss()  # 调用咸鱼王模式函数else:print('输入有误,请重新输入。')
time.sleep(1)   #休眠暂停一秒钟
print('GAME OVER')

python双人对决小游戏相关推荐

  1. python两人一碰_python运用pygame库实现双人弹球小游戏

    使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截失败的一方输掉游戏,规则类似于简化版的乒乓球. 因为是第一次用pygam ...

  2. PYTHON pygame库实战——实现双人弹球小游戏

    PYTHON pygame实战--运用pygame库实现双人弹球小游戏 使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截 ...

  3. Python快速编程入门#学习笔记02# |第十章 :Python计算生态与常用库(附.小猴子接香蕉、双人乒乓球小游戏源码)

    全文目录 学习目标 1. Python计算生态概述 1.1 Python计算生态概述 2. Python生态库的构建与发布 2.1 模块的构建与使用 * 2.1.1第三方库/模块导入的格式 2.2 包 ...

  4. python弹球游戏双球代码键盘操作_python运用pygame库实现双人弹球小游戏

    使用python pygame库实现一个双人弹球小游戏,两人分别控制一个左右移动的挡板用来拦截小球,小球会在两板间不停弹跳,拦截失败的一方输掉游戏,规则类似于简化版的乒乓球. 因为是第一次用pygam ...

  5. 用python编写乒乓球小游戏--Turtle功能的应用

    用python编写乒乓球小游戏–Turtle功能的应用 python有很多功能强大的代码库,Turtle是一款用于游戏开发的代码库.通过编写乒乓球小游戏可以了解这个库的基本的代码的使用 先创建游戏的背 ...

  6. python手机版做小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏...

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

  7. python写游戏脚本-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  8. python编程小游戏-使用Python写一个小游戏

    引言 最近python语言大火,除了在科学计算领域python有用武之地之外,在游戏.后台等方面,python也大放异彩,本篇博文将按照正规的项目开发流程,手把手教大家写个python小游戏,来感受下 ...

  9. python小游戏代码大全-python简单小游戏代码 怎么用Python制作简单小游戏

    1.Python猜拳小游戏代码: 2.import random #导入随机模块 3. 4.num = 1 5.yin_num = 0 6.shu_num = 0 7.while num <= ...

最新文章

  1. 20172307 2018-2019-1 《程序设计与数据结构》第4周学习总结
  2. ssh在dhcp自动获取地址的时候使用
  3. Objective-C:随机的读取文件中的内容
  4. 内存溢出_JVM|03内存溢出实战
  5. HNUSTOJ-1257 You are my brother
  6. LinuX编译显示内核配置无效,配置编译内核(Linux kernel)
  7. android 获取phone实例,Android ContentProvider获取手机联系人实例
  8. EXT学习经验分享:深刻理解EXT与服务器端的交互
  9. iOS 日志管理异常捕获组件LFLogManager
  10. 将windows c盘安装在linux,将WindowsC盘hda1安装在Linux文件系统的/winsys目录下,命令是()。...
  11. 测试一下各浏览器对CSS3的支持
  12. C++ std::condition_variable 是什么 有什么用 条件变量 线程同步 wait wait_for notify_one notify_all
  13. 资源分享·病毒样本下载资源分享
  14. java启动tomcat9闪退
  15. QT实现植物大战僵尸中文版工具代码
  16. C语言使用josn库解析数据
  17. 支付宝二维码可以抓包更改金额_支付宝到账铃声,金额可以随意改。
  18. Android resource not found问题
  19. sysvinit源码分析 Linux-init-process-analyse
  20. STM32利用SPI读写SD卡的程序详解

热门文章

  1. 绘制奥林匹克五环旗。
  2. 浅析java.lang.IllegalArgumentException: URI is not absolute
  3. 高德地图海量点 API 初探
  4. 详谈室内定位技术方案
  5. 5分钟入门Cinemachine智能相机系统
  6. ListView 实现阻尼回弹效果 并去除边缘阴影
  7. 华为Mate40 Pro 66w充电器冒火花怎么回事?
  8. Gitlab CI/CD 中使用 ssh-key,登录远程主机部署,执行远程主机的特定脚本
  9. 超全植物UE4素材素材网站整理
  10. 课堂笔记(3) 假设检验 Hypothesis testing