社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

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

编程派 • 4 年前 • 583 次点击  

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

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


相信许多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
 
583 次点击