Py学习  »  Python

利用Python基础代码语句,实现2G时代文字小游戏,世界如此简单!

编程派 • 3 年前 • 434 次点击  

点击上方“编程派”,选择设为“设为星标

优质文章,第一时间送达!


相信许多80,90后都玩过2G时代的文字小游戏,它是来自QQ家园的专属回忆。偷菜,美味小镇,大乐斗,还有精武堂等等,虽然只是文字的输出,但是留给我们这一代的人的印象却是最深刻的。曾经流量很少,响应很快,时间很慢,一天可以升几十级,今天和小狐酱一起利用python制作一款超级简单的文字小游戏,一同回到2G文字游戏时代吧!


一、作为一款文字游戏,想要吸引人眼球,那么界面美观就是第一步,我们先来制作一个打开游戏的第一幕。

我们给a赋值让它等于‘=’,然后在第一行前面输出65个=,后面输出65个=,中间写上游戏欢迎字样,即可完成我们的第一幕。如果你不喜欢‘=’,也可以将其替换成其他符号,65个‘=’当然也不是固定的,要根据中间文字数量进行计算,尽量将欢迎标语居中显示。代码和运行结果如下显示:


二、常见的文字游戏,在进入游戏后的第一件事就会让我们选择英雄角色,进行一些个性化的设置。为了简便,小狐酱这里就只设置两个英雄,亚索和瑞文。

1、用Print直接打印出三个选项,选项内容用三个单引号跨行显示,保证格式。

2、再打印出130个“-”符号,进行分割,保证内容和输入的选择有间隔,增强视觉感。

3、定义Player,让玩家输入选项,开始选择英雄。

代码和运行结果如下显示:


三、当用户进行个性化选择后,我们要进行不同内容的输出,用户可能会选择1、2、3内容中的任意一项,也可能输入4、5、6或其他数字或内容,所以我们要做好全面的反馈内容。

1、这里我们使用if函数,就可以简单进行内容的输出,如果用户输入“1”,那么就会输出player==1后面所打印的内容(这里打印了两行,是为了显示更简洁,当然也可以使用钱脉提到的三单引号进行)。

2、如果用户没有输入的内容不等于1,那么输入2的话,就会显示eilf==2后面的内容。

3、同上

4、如果用户输入了其他数字或者文字,那么默认归为“else”,输出后面内容。


具体代码和运行结果如下显示:


四、前面说到给予了玩家选择的瑞文1300的攻击力和3000的生命,这不仅仅是说说而已,我们要真正的去赋值。这里我们要赋值两组数据,一组是玩家的(瑞文),另外一组是boss的(亚索),这两组数据后面会用到的。


五、2G时代的文字游戏往往要求我们要不停地打怪升级,这样在提升游戏角色相应属性后,才能打赢前方Boss。

1、所以我们在这里,我们首先要运用到一个while循环语句来控制后面的游戏操作,让用户在进行打怪升级后,能够继续打怪或者选择挑战boss,循环显示这些功能。

2、玩家进行打小兵升级之后,我们默认设定每一次点击(变量),攻击力加1300,生命值加3000。

3、如何决定胜:利用条件进行判断,当玩家攻击力大于Boss生命值的时候,我们就判定,玩家胜利(这里Boss的生命值是固定的,前面设定好的);反之,这个条件不成立的时候,即玩家将被Boss攻击,游戏结束,break跳出整个循环。


4、在代码的末尾,我们仍然需要考虑到用户再选择(1、2、3中)可能会填写别的数字或信息,所以我们启动else,默认输错重新返回选择。

5、这一长段代码注意需要注意的是循环语句中的判断语句嵌套,这里小狐酱用不同颜色的进行了划分,缩进非常重要。

小游戏整体运行如下显示:


这是python学习中较为简单的初级代码,它的难点主要在于“嵌套”,这要求我们做任何程序的时候都要拥有逻辑思维,这样就会事半功倍。文中的所有数据皆可增加想和修改,包括角色,攻击力、生命值、防御力等等,这些的增加和修改会直接影响到while循环中的代码工作量,喜欢python的朋友可以尝试做一下哦,还是非常有趣的。

来源https://www.jianshu.com/p/db05f27d2f26



回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


推荐阅读



题图:pexels,CC0 授权。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/73647
 
434 次点击