街霸应该是很多80后和大龄90后的童年记忆,虽然现在已经不再碰了,但是,并不妨碍对其的喜爱。今天来简单实现一下街霸的运作,如果是资深程序员,可以不用看下去。

现在我们在D盘的python-learning目录中创建 ko_street_fighter.py 文件, 并输入以下代码:

<pre>
#-*- coding:utf-8 -*-
# __filename__ = "ko_street_fighter.py"
# __author__ = "薯条社区"
# __date__ = "2019-05-16"import random
# 导入random模块import time
# 导入定时器, 本节程序代码使用定时器来实现倒计时效果'''下文中的strategies 使用直接定义法来定义一个列表,保存系统随机出的格斗策略'''
strategies = ["原地蹲防", "失误", "暴血连段", "失误", "伤害修正", "鬼步", "失误", "波升", "回血", "必杀"]
chunli_kungfu = ["气功拳", "旋转踢", "百裂脚", "霸山天升脚"]def main(): ''' :
return:void ''' fighter = 100
# 定义整型变量fighter,用来保存街霸维加的血量 chunli = 100
# 定义整型变量chunli,用来保存春丽的血量
# 对战倒计时 print("3") time.sleep(1)
print("2") time.sleep(1)
print("1") time.sleep(0.2)
print("Fight!")
while True:
# 循环语句,不断重复执行下面的代码
if fighter <= 0 or chunli <= 0:
# 春丽或boss其中一人血量为0时就退出战斗 break
# 执行input函数获得键盘的输入内容
kungfu = input("\n#--输入以下数字指令来挑战街霸维加:\n<0>气功拳 <1>旋转踢 <2>百裂脚 <3>霸山天升脚\n")
kungfu = int(kungfu)
# 对输入的字符串类型转换为整型,读者在输入时必须输入有效的数字,否则会抛出异常
# 对于异常的处理,笔者会在后续的教程中进行介绍
is_valid_attack = True
# 定义布尔类型变量is_valid_attack 用来判断春丽是否采取了有效个攻击if kungfu >= 0 and kungfu < 4:
print("你对街霸使出了{}".format(chunli_kungfu[kungfu]))
else: is_valid_attack = False
# 输入的指令错误,攻击无效
print("春丽,这是在战斗,请输入正确的战斗指令!")
strategy = random.choice(strategies)
# 使用random模块中的choice函数,来随机选择列表里的值
if strategy == "失误": print("街霸在对战中反击失误!")
else: print("街霸在对战中对你使用了{}".format(strategy))
time.sleep(2) if strategy in ["原地蹲防", "回血", "鬼步"]:
# 使用in运算符来查找strategey是否在列表中 if strategy == "回血" and fighter < 100: fighter += 5
# 如果系统出的策略是失误或者伤害修正,并且春丽使出的是有效的攻击
elif strategy in ["失误", "伤害修正"] and is_valid_attack:
# 如果街霸回击失误,则街霸维加减掉10点伤害值
if strategy == "失误": fighter -= 10 else:
# 如果街霸使出的是伤害修正,则街霸维加减掉5点伤害值 fighter -= 5
elif strategy == "必杀":
# 如果街霸使出的是必杀,则春丽减掉20点伤害值 chunli -= 20
# 复合运算符 else:
# 如果街霸使出的是其它攻击策略,则春丽减掉10点伤害值
chunli -= 10
print("\n-*- 春丽现在的血量:{0} 维加现在的血量:{1} -*-".format(chunli, fighter))
if chunli <= 0: print("春丽,你战败了!")
else: print("维加,我今天终于把你打败,父亲泉下有知,可以瞑目了!")
if __name__ == "__main__": main()</pre>

现在我们进入windows命令行,切换到D盘的python-learning目录,输入python ko_street_fighter.py,开始挑战街霸:

只是简单实现以下运作,没有时间也并不打算做个游戏,所以也没用继续下去,欢迎大家完善。

最后我这里有一些关于Python的学习资料,从入门到实战项目都有,关注并私信我“01”获取。欢迎大家自取

“老年”程序员带你用Python玩街霸,你的童年用编程实现也很简单相关推荐

  1. python利用微信的方法_作为程序员,如何利用Python玩转微信,让你的微信与众不同...

    我们每天都在用微信,有没有想过用Python来控制我们的微信,不多说,直接上干货! 安装模块 1.生成微信对象 bot = Bot() #初始化一个对象,就相当于拿到了这个人的微信,后续的一些操作都要 ...

  2. python开发pc软件_程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  3. python做电脑软件-程序员带你十天快速入门Python,玩转电脑软件开发(二)

    关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到 ...

  4. python入门教程软件-程序员带你十天快速入门Python,玩转电脑软件开发(四)

    本系列文章立志于从一个已经习得一门编程语言的基础之上,全面介绍Python的相关开发过程和相关经验总结.本篇文章主要是基于上一篇的程序员带你十天快速入门Python,玩转电脑软件开发(三)的基础之上, ...

  5. Python程序员的圣经——《Python编程快速上手:让繁琐工作自动化》尾末附下载地址

    一.前言 如今,人们面临的大多数任务都可以通过编写计算机软件来完成.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.通过Python编程,我们能够解决现实生活中的很多任务. 今天给 ...

  6. 程序员带半箱辣条参加东京奥运,网友:这不是辣条,是狗粮!

    整理 | 王晓曼 出品 | 程序人生(ID:coder _life) 7月23日,东京奥运会开幕在即,一条#程序员带半箱辣条参加东京奥运#的消息登上微博热搜,引发了网友们的热议. 程序员自带辣条参加奥 ...

  7. java跟python对比_【多年的Java程序员总结Java与Python的对比 】

    多年的Java程序员总结Java与Python的对比 作为一个有多年职场经验的技术员,每当我遇到同行时,我都会问一句"你现在用的是什么语言?你喜欢用哪种语言?"至于答案,容后再说. ...

  8. 匹配正则_程序员入门基础:python正则表达式贪婪匹配和非贪婪匹配

    此文为python正则表达式的高阶入门,正则基础入门请参考程序员入门基础:python的正则表达式. 一.贪婪匹配和非贪婪匹配 举例说明概念: print('非贪婪匹配',re.search('el+ ...

  9. python自学行吗-上万程序员总结:自学Python,掌握到什么程度就可以找工作了?...

    原标题:上万程序员总结:自学Python,掌握到什么程度就可以找工作了? 前言: Python现在非常火,语法简单而且功能强大,很多同学都想学Python! 在这里把最好的分享给大家!希望能带给大伙儿 ...

最新文章

  1. Activiti工作流从入门到入土:工作流简介
  2. 客户区和非客户区指的什么?窗口客户区和视图客户区的区别
  3. 搜索引擎是如何判断网站质量的?
  4. ASP.Net MVC 在ajax接收controller返回值为Json数据
  5. 判断一个字符串大写小写,和数字出现的次数
  6. java实现2-3树_2-3-4树的分裂核心代码【JAVA实现】 | 学步园
  7. Windows平台下搭建自己的Git服务器
  8. 【转】sql server 订阅发布、快照发布(一)
  9. Linux 常用名利总结
  10. 学习Jammendo代码的心路历程(二)ViewFlipper数据的填充
  11. 深入探索 Android 网络优化(三、网络优化篇)下
  12. 英文词典 text 文本格式下载
  13. matlab精确重心法选址,重心法选址问题资料.ppt
  14. python学习视频
  15. 企业公众号如何申请开通模板消息功能?
  16. 从文案到配音,只需要一部手机!5分钟掌握影视解说制作流程
  17. BTA前瞻 | CyberMiles创始人卢亮:愿拿百万年薪求区块链人才
  18. Linux 常用命令
  19. 访问tomcat出现java.lang.IllegalStateException No output folder错误解决方法
  20. 经常用电脑辐射大怎么办?这5个习惯可以防辐射

热门文章

  1. python 参数_Python命令行参数(七)
  2. android 音乐资源获取失败,android – 获取嵌入式mp3文件嵌入式艺术失败
  3. datagrip调试存储过程_PLC控制柜是什么?当PLC程序设置完后,如何调试能不烧毁PLC?...
  4. 查找树的指定层级_阿里面试,问了B+树,这个回答让我通过了
  5. linux安装jdk(以1.6为例)
  6. jsp编写程序实现写读留言板内容的功能
  7. mysql update多条件批量更新_Mybatis中进行批量更新(updateBatch)
  8. python 桌面歌词_GitHub - Python-Z/musicbox: 网易云音乐命令行版本
  9. python 全中文匹配字符_Python教程:进程和线程amp;正则表达式
  10. 未来计算机硬件的发展有可能使用的技术,未来计算机硬件的发展有可能使用的技术是______。...