python游戏代码讲解(菜鸟也能用Python写一个2048游戏)
python游戏代码讲解(菜鸟也能用Python写一个2048游戏)
2024-11-22 05:25:29  作者:身處名利場  网址:https://m.xinb2b.cn/know/xki295902.html

原创: 菜鸟哥 菜鸟学Python


想必大家对于小游戏2048应该都听说过吧,这款益智类的小游戏,虽说很简单,但是想要玩的很好,也需要一定的技巧,今天看到了一个大神用Python写了一个2048的小游戏,但是没有中文的解释,而且没有帮助文档,因此,小编就在此基础上,对程序做了改进,对于程序加入了中文的注释,希望能从菜鸟的角度,通俗易懂的给大家讲讲!

1游戏界面设计

下图展示的是游戏的初始化界面,有了游戏界面作为一个直观的了解,方便大家对于程序的理解:


游戏的初始化,部分程序如下图所示:


程序首先是定义了整体的背景,包括了背景的大小,颜色;然后是对于帮助文档按键的定义,对于每一个小的方格,程序对于其位置颜色和每个小方格的内容也进行了定义;接下来,程序在init_matrix函数中,定义了一个4x4大小的矩阵,矩阵的值都是0,矩阵的每一个值都对应着一个小方格里面的内容。

初始化时,在任意的两个位置中,添加数字2进行显示,而对于值为0的方格则不进行展示,完成上述的操作后,便得到了我们图一的展示界面。

2游戏的操作部分

1).界面的初始化完成后 ,接下来就是如何运行程序了

这里使用的时tkinter下的键盘事件绑定,通过监测键盘的动作,tkinter可以得到我们到底时进行的上下左右哪种操作:


例如up函数,程序定义了transpose、reverse、cover_up和merge等函数,来实现“up”的操作,当我们执行up函数时,所有的数字都会填满上面的所有方格,如下图所示:


上图中,经过up函数后,位于下方的数字都全部移动到上方,同时产生了新的数字。其他的操作也是相似的操作。大家可以按照up函数的操作,来亲自手写演示一遍,体会就会更加的明显。

2).提供悔棋功能

程序还给大家提供了返回前面操作的步骤,如果大家想“悔棋”的话,只需要按“b”键就可以回到前面的游戏界面重新操作,这一部分的程序如下图所示。


上述的程序中,首先需要确定我们可以返回的步数是大于1的,然后返回我们的上一步游戏界面,如果大家想连续返回的话,只需要重复的按“b”键即可达到。


3整个程序设计思路

那程序是如何实现整个游戏的逻辑呢?下面我把整个的思路给大家理一下:

1).先说重点核心就是在key_down函数里,由于程序利用tkinter实现了监听键盘,所以我们每按一次键盘,程序都会执行一次key_down函数,我们只需要清楚这个函数,就可以搞清楚游戏的流程和机制。

2).程序会先判断我们是否是进行了返回上一步的操作,如果是的话,就返回上一步,如果不是的话,程序就判断我们进行的是什么操作(上下左右);

3).然后对于我们的矩阵进行上下左右的操作,程序将在矩阵中剩余的空白处,随机添加数字2,并将添加后的矩阵放入到历史矩阵当中;

4).接着更新方格进行显示。当我们执行完按键操作后,就是判断游戏的状态,在game_state函数里,我们定义了游戏的胜利和失败的条件,并在达到条件的情况下判断游戏胜利或者是失败。如果两种游戏状态都没有达到时,我们便可以接着按键,执行下一次的key_down函数;

5).最后我们在运行程序的时候,便达到了玩游戏时的效果,通过不断的按键,来改变方格中的数字分布,并在达到胜利或者失败条件时,对游戏者进行提示。

以上就是小编与大家分享的2048小游戏,大家赶快动起手来练习吧。

最后,我自己是一名从事了多年开发的Python老程序员,辞职目前在做自己的Python私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的Python学习干货,可以送给每一位喜欢Python的小伙伴,想要获取的可以关注我的头条号并在后台私信我:01,即可免费获取。

  • 民国奇探案情都是什么(民国探案绝不能错过的)
  • 2024-11-22民国探案绝不能错过的导语:近年来,悬疑破案系列的电视电影层出不穷,有好的,也有看不进去的,今天,我就分享一些我个人觉得很好看的民国探案系列影视剧吧!1.火线追凶系列火线追凶系列该系列共有10部,分别是:《火线追凶1:血色。
  • 大自然的蓝是最原始的蓝(十色贵州有一种蓝)
  • 2024-11-22十色贵州有一种蓝有一种蓝,叫“贵州蓝”贵州蓝,是抬头仰望天空中无意的一撇,也是晴空万里时天空的颜色贵州蓝,吸引着越来越多的人来贵州呼吸新鲜空气、体验生态旅游这抹贵州蓝,是贵州人引以为傲的生态“底色”十年来,贵州牢牢守。
  • 共享汽车怎么收费(收费标准如下)
  • 2024-11-22收费标准如下下载相应的共享汽车app,与共享单车类似,使用共享汽车只需用手机下载专用的共享汽车app软件随后注册账户并验证身份证和驾驶证等信息,最后再提交押金后就能租赁车辆使用费用目前共享汽车的计费方式为一元/公。
  • 怀念汪曾祺 再见汪曾祺
  • 2024-11-22怀念汪曾祺 再见汪曾祺“大一”听汪曾祺先生讲座后,再次见到汪先生,是四年以后其时我已大学毕业,在一家报社供职我所在的副刊部主任士是闽南人,元旦省亲返京,带回许多水仙球,准备送给几位作家,藉此联络感情对于送水仙球之任务,我当。
  • 茄子怎么做好吃家常做法(制作鱼香茄子的方法)
  • 2024-11-22制作鱼香茄子的方法食材:茄子2个、青椒1个、红椒1个、油适量、盐适量、四川泡辣椒碎10g、酱油15g、醋10g、料酒10g、白糖20g、葱10g、姜10g、蒜2瓣、湿淀粉10g茄子切片,放少许盐拌匀,茄子腌制0分钟左右。
  • 顺治帝为什么只活了24岁(顺治帝只活到24岁)
  • 2024-11-22顺治帝只活到24岁点击右上角红色按钮,关注@聚合历史,带你了解更多历史故事顺治皇帝,是清军入关之后的第一个皇帝,六岁时便登基了,并由叔父摄政王和多尔衮辅佐参政,他一生中最爱的女人是皇贵妃董鄂妃,1660年,董鄂妃由于丧。
  • 一人之下张楚岚天师之位争夺战(楚岚施展超必杀)
  • 2024-11-22楚岚施展超必杀《一人之下》第1715篇分析文这里是《一人之下》漫画第652(610)话情报图分析,本期情报图讲了两件事情:No.1|超必杀·爱你命三千Ps:要你命三千是周星驰电影《国产凌凌漆》中经典道具,由达闻西研。
  • 苏州工业平板电脑一体机报价(工业平板一体机电脑)
  • 2024-11-22工业平板一体机电脑工业平板一体机电脑_10.1寸工业一体机品牌哪家好伴随着信息化不断发展,工业平板一体机电脑应用越来越广泛工业平板一体机电脑不仅具备普通商用电脑所有功能,还拥有较高工业防护等级,能够适应各种各样的恶劣环。
  • 乌梅汤治疗半夜口干舌燥医案(来碗冰糖乌梅饮)
  • 2024-11-22来碗冰糖乌梅饮“流眄枯坐三伏天,无风无雨日如年”,形象描绘了三伏天“炙烤模式”下人们度日如年的焦灼心情虽已出伏,气温却依然较高,而烈日下最舒服的可能就是来一杯沁人心脾的冰饮现如今,奶茶等饮料已深受年轻人追捧,成为难。
  • 五行是指哪五行(常说的五行是什么)
  • 2024-11-22常说的五行是什么五行指:金;木;水;火;土认为大自然由五种要素所构成,随着这五个要素的盛衰,而使得大自然产生变化,不但影响到人的命运,同时也使宇宙万物循环不已五行学说(最早在道家学说中出现)认为宇宙万物,都由木、火、。
  • 结婚八年的男人和我在一起了(跟你结婚4年多我早就受够了)
  • 2024-11-22跟你结婚4年多我早就受够了新来的朋友,记得点击右上方蓝色关注01张强跟老婆结婚4年,家境贫寒,这4年来,有3年多是在外打工,常年不回家因为他在家排老大,弟弟还没结婚,母亲去世的早,照顾老人的责任就落在了他头上,可偏偏自己的父亲。