相信许多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的朋友可以尝试做一下哦,还是非常有趣的。