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

347 篇文章 12 订阅
257 篇文章 16 订阅

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

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

现在我们在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>

image.png

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

image.png

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

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

  • 12
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值