如何使用python做一个罚点球小游戏


本篇内容介绍了“如何使用python做一个罚点球小游戏”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在学习了一点 Python 基础之后,我们可以做一个罚点球的小游戏,大概流程是这样:每一轮,你先输入一个方向射门,然后电脑随机判断一个方向扑救。方向不同则算进球得分,方向相同算扑救成功,不得分。之后攻守轮换,你选择一个方向扑救,电脑随机方向射门。第5轮结束之后,如果得分不同,比赛结束。5轮之内,如果一方即使踢进剩下所有球,也无法达到另一方当前得分,比赛结束。5论之后平分,比赛继续进行,直到某一轮分出胜负。实现方法有很多种,我这里提供的只是一种参考。你可以按照自己喜欢的方式去做,那样才是属于你的游戏。先说一下方向的设定。我的想法比较简单,就是左、中、右三个方向,用字符串来表示。射门或者扑救的时候,直接输入方向。所以这里我用 input 来实现。有同学是用 1-9 的数字来表示八个方向和原地不动,每次输入一个数字,这也是可以的。不过这样守门员要扑住的概率可就小多了。至于电脑随机挑选方向,如果你是用数字表示,就用我们之前讲过的 randint 来随机就行。不过我这里打算用 random 的一个方法:choice。它的作用是从一个 list 中随机挑选一个元素。于是,罚球的过程可以这样写:反之亦然,这里不赘述。接下来,我们让它循环5次,并且记录下得分。暂时先不判断胜负。用 score_you 表示你的得分,score_com 表示电脑得分。开始都为0,每进一球就加1。这段代码里有两段相似度很高,你可以想想是不是有办法可以用个函数把它简化。在此基础之上,我们再加上胜负判断,如果5轮结束之后是平分,就继续踢。所以我们把一轮的过程单独拿出来作为一个函数kick,在5次循环之后再加上一个while循环。另外,这里免费云主机域名把之前的 score_you 和 score_com 合并成了一个 score 数组。这里的原因是,要让 kick 函数里用到外部定义的变量,需要使用全局变量的概念。暂时想避免说这个,而用 list 不存在这个问题。到这里我们的点球游戏已经快完成了,现在要做的就是增加比赛提前结束的机制,让它更真实。我的思路是这样:比赛提前结束,就是落后一方的得分,加上他在5轮中剩下的轮数,仍然低于领先方现在的得分。虽然可以根据当前的轮数计算剩下的机会,但由于先踢和后踢的情况不同,这样计算会有些复杂,容易搞错。所以我决定再增加一个 list,里面记录双方剩余的轮数,初始均为5。每踢一球,就把对应那一方的计数减1。每踢一球,就判断输的那一方是否还有机会。于是需要在最开始增加代码:以玩家为例,每踢完一球的判断:由于提前结束仅限于5轮内,所以要判断 rest[0]>0。return 可以让 kick 函数提前结束。电脑的判断与这个类似,只是要换成 rest[1]。因为需要有个方法提前结束循环,所以我让 kick 函数返回一个 bool 值,正常情况返回 False,一旦提前结束就返回 True。之前的 for 循环也改成 while,以便于提前结束循环:完整代码如下:“如何使用python做一个罚点球小游戏”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!

相关推荐: 基于C语言如何实现简易的扫雷游戏

这篇文章主要讲解了“基于C语言如何实现简易的扫雷游戏”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“基于C语言如何实现简易的扫雷游戏”吧!扫雷即在一个免费云主机域名棋盘中,随机放入一定数量的雷,玩家通过输入坐标,…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 03/11 09:55
Next 03/11 09:56

相关推荐