利用Python做一个简单的文字对战小游戏

一、游戏介绍

1、大体介绍:文字版的对战小游戏,可以利用Python随机生成两个角色,角色带有各自的血量和攻击值两个指标。两人在对战时同时攻击对方,同时造成与攻击值相等的伤害。最终一方血量降到0以下的为输。

2、拆解项目

①ver1.0:规定双方角色属性,战斗时人为计算血量,并直接打印战斗结果

②ver2.0:随机生成双方角色属性,自动计算扣除血量,并优化显示战斗过程的代码

③ver3.0:双方进行三局PK。每局判定胜负,三局两胜,判断最终结果

④ver4.0:优化三局两胜的获胜机制,优化代码。

⑤verX.0:........待开发

3、游戏进程展示

4、代码部分

#目前优化进度为ver3.1
#优化了文字进度......
import time,randomplayer_score = 0
enemy_score = 0
#询问是否需要再来一局或退出
while True:go_on = input('请问是否要继续吗?输入q可退出,输入其他则继续:')if go_on == 'q':print('游戏退出')breakfor i in range(1, 4): #print(' \n——————现在是第'+str(i+1)+'局,ready go!——————')#print(' \n——————现在是第%s局,ready go!——————' % i)print('  \n——————现在是第 {} 局——————' .format(i))time.sleep(2)# 生成随机属性player_life = random.randint(100,150) player_attack = random.randint(30,50) enemy_life = random.randint(100,150) enemy_attack = random.randint(30,50)# 定义局数胜利# 展示双方角色的属性#print('【玩家】\n'+'血量:'+str(player_life)+'\n攻击:'+str(player_attack))#print('【玩家】\n''血量:%s\n攻击:%s' % (player_life, player_attack))print('【八神庵】\n血量:{}\n攻击:{}' .format (player_life,player_attack))#player_life和player_attack都是整数类型,所以拼接时需要先用str()转换print('------------------------')time.sleep(1)#print('【敌人】\n'+'血量:'+str(enemy_life)+'\n攻击:'+str(enemy_attack))#print('【敌人】\n''血量:%s\n攻击:%s' % (enemy_life, enemy_attack))print('【草薙京】\n''血量:{}\n攻击:{}' .format (enemy_life, enemy_attack))print('------------------------')time.sleep(1)# 打印战果# 提示1:有三种结果,需要用到多向判断 if...elif...else # 提示2:判断条件为双方的血量情况while player_life >0 and enemy_life > 0:player_life = player_life - enemy_attack enemy_life = enemy_life - player_attack #print('你发起了攻击,【敌人】剩余血量%s' % enemy_life)print('草薙京发起了攻击,【八神庵】剩余血量{}' .format (player_life))#print('敌人向你发起了攻击,【玩家】剩余血量%s' % player_life)print('八神庵发起了攻击,【草薙京】的血量剩余{}' .format (enemy_life))print('------------------------')if player_life > 0 and enemy_life <= 0:print('草薙京凉了,八神庵获胜!')player_score += 1elif player_life <= 0 and enemy_life > 0:print('悲催,草薙京把八神庵干掉了...')enemy_score += 1else:print('哎呀,草薙京和八神庵同归于尽了~')print(player_score, enemy_score)# 判断三局两胜的胜负者if player_score > enemy_score:print('最终获胜者是八神庵!')elif enemy_score > player_score:print('八神庵最终输掉了比赛...')else:print('八神庵和草薙京果然是平分秋色')

二、运用知识

利用了简单的循环,判断,字符格式转换,Python内置函数库的简单Python知识,同时结合了拳皇对战游戏的游戏逻辑完成了这个文字版的对战小游戏。

利用Python做一个简单的对战小游戏相关推荐

  1. python自己做个定时器_技术图文:如何利用 Python 做一个简单的定时器类?

    原标题:技术图文:如何利用 Python 做一个简单的定时器类? 背景 今天在B站上看有关 Python 最火的一个教学视频 -- "零基础入门学习 Python",这也是我们 P ...

  2. 用c++做一个简单的打飞机小游戏(详细说明与注释)

    用c++做一个简单的打飞机小游戏(详细说明与注释) 说明: 代码长度5k多,行数200多行. 不仅没有压行,反而为了条理清晰一点所以很多中间加空换行,把很多可以写在一起的分割成了几个函数. 为了不会忘 ...

  3. python编写一个简单的猜数字小游戏

    该脚本包含了python基础的部分内容,python初学者既可以学习借鉴,也可以向朋友去装13. 本次编写的内容需要导入一个第三方模块random,可获得规定范围的随机数. 首先打开pycharm中下 ...

  4. python做一个简单的对战游戏

    今天没什么事情,就自己做了一个简单的对战游戏. 这个小游戏流程大概是这样的 开始游戏 ↓ 选择人物出场顺序及技能 ↓  ←  ←  ←  ←  ←  ←  ←  ←  ← ← ↖ 开始战斗→胜利方→+ ...

  5. 技术图文:如何利用 Python 做一个简单的定时器类?

    背景 今天在B站上看有关 Python 最火的一个教学视频,零基础入门学习 Python,这也是我们 Python基础刻意练习活动 的推荐视频教程. 在学习魔法方法的时候,有一节视频是制作一个简单的定 ...

  6. 还在怕成语接龙你玩不过别人嘛!今天教大家用Python做一个成语接龙的小游戏!!!

    相关文件 关注小编,私信小编领取源码哟!!当然别忘了一键三连哟!! 开发工具 Python版本:3.6.4 相关模块: pyqt5模块: 以及一些python自带的模块. 环境搭建 安装Python并 ...

  7. 如何利用JAVA编写一个简单的石头剪刀布的小游戏

    楼主为了完成作业,花了一小会时间自己琢磨了一下,写出了这个石头剪刀布的小游戏. 思路很简单,就是令石头=2,剪刀=1,布=0,那么电脑随机生成一个数,分别去对应,游戏者同时也输入一个数字,也是对应着前 ...

  8. 利用Python做一个简单的打印店计费程序

    我自己买了一个打印机,除了自己用,打算方便大家,为大家提供付费打印服务. 按张数 x 计费: 1.你有纸,每张0.2元:0.2 * x 2.没纸,我有纸,分段计费: (1)1到20张,每张0.3元:0 ...

  9. 利用python做一个简单小应用--学生通讯录管理系统

    该简单学生通讯录管理系统六个可操作过程 1.添加学生 2.删除学生 3.修改学生 4.查询学生 5.获取所有学生通讯信息 6.退出系统 话不多说,上代码 # -*- codeing = utf-8 - ...

最新文章

  1. 一文让你完全入门EM算法
  2. laravel 5.1 Eloquent常见问题
  3. 使用OpenCV的findContours获取轮廓并切割(python)
  4. 千亿美元市值的拼多多,真被高估了吗?
  5. 新手入门 keil MDK5 建立STM32工程
  6. 比尔•盖茨因握手方式失礼遭韩媒狂批
  7. java虚拟机通俗_JAVA虚拟机的通俗解释
  8. Java 函数式编程入门
  9. 好消息:VS 2008 and .NET 3.5 Beta 2 发布了
  10. MySQL基本的SELECT语句,SQL语言概述,基础和重要不冲突,完整详细可收藏
  11. python 写入json数据到数据库
  12. 你在滥用Python吗?初学者常会遇到的5个情景
  13. 在别人网页上运行js脚本_初始JavaScript,世界上最流行的语言之一
  14. 开放平台-web实现人人网第三方登录
  15. ZZULIOJ 1014: 求三角形的面积
  16. JAVA多线程读写文件如何做到线程安全?(文件锁,FileChannel)
  17. 国庆 深圳游玩 路线规划之南山区
  18. 梦幻手游服务器维护摆摊公示时间,梦幻西游手游摆摊攻略 卖家关注公示期最重要...
  19. 所有weblogic版本下载
  20. 浅谈德州扑克AI核心算法:CFR

热门文章

  1. 基于最小二乘法的点云空间平面拟合(C++实现)
  2. 我这几年是如何把副业打造成扇形收入的?
  3. 华为宣布鸿蒙升级审核需要多久,鸿蒙2.0,报过名的,需要1-2周审核出结果,大家不要急...
  4. 162-javaweb简单注册
  5. 祝贺上海铭控成为北京消防协会消防信息化会员单位!
  6. 电商平台如何高效快速获取信息?
  7. JavaScript 面试题(二十)延时器
  8. 费用核算,2011-08-27
  9. loadrunner中Run-time-Setting设置
  10. 饥荒联机服务器修改冬天时间,饥荒联机版永冬永夜世界设置技巧_饥荒联机版世界怎么设置_牛游戏网...