python游戏代码讲解(菜鸟也能用Python写一个2048游戏)
python游戏代码讲解(菜鸟也能用Python写一个2048游戏)
2024-11-25 12:11:10  作者:身處名利場  网址:https://m.xinb2b.cn/sport/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-25旧式女德思想死灰复燃在一段教学视频中,老师教育学生道:“柔是女人的根,顺是女人的本”;“打不还手、骂不还口、逆来顺受、坚决不离婚”;“作为女子就应该在最底层”;“女人啊,就是要少说话多干活,将来无论丈夫说什么,妻子都应该。
  • 晒美食的幽默句子(美味佳肴)
  • 2024-11-25美味佳肴新鲜的肉汁,精心的烹饪,总是那么的讨喜,特别是在那些饥饿人眼里,是那么的可爱,要是能够饱餐一顿,如果可以还是免费的话,那就真的太美妙了,不是吗?可,这样的美味佳肴,真的真的,可以免费吗?但愿世上的好心。
  • 宝宝长鹅口疮几天才能好(宝宝长鹅口疮该如何护理)
  • 2024-11-25宝宝长鹅口疮该如何护理什么是鹅口疮?鹅口疮是白色念珠菌造成的口腔内感染,白色念珠菌存在于正常的人体内,喜欢阴暗,温暖和潮湿的环境,比如宝宝的口腔或尿布区域鹅口疮的主要表现是在宝宝的口腔粘膜及或舌面覆盖白色乳凝块样小点或小片。
  • 多给孩子做这十道菜(就嚷着要吃这道菜)
  • 2024-11-25就嚷着要吃这道菜(芹意原创,剽窃必究!)(芹意原创,剽窃必究!)女儿一回家,就嚷着要吃照烧鸡!日式照烧的做法,是我家餐桌上的常备用日式的调料固然正宗,而中式最常见的调味料,一样可以作出好吃的照烧(芹意原创,剽窃必究!。
  • 女生有这几种表现说明喜欢你(女生对你有这三种表现)
  • 2024-11-25女生对你有这三种表现01.在感情上,和男生的积极主动比起来,女生表达自己感情要含蓄得多大部分的姑娘,即使喜欢你,也不会自己大大咧咧地跑来告诉你,而是用一些举动来暗示你,她对你有好感,想跟你有进一步的发展俗话说得好:“男追。
  • 秋天一文的教学反思简短(这个秋天我的反思)
  • 2024-11-25这个秋天我的反思今天起得很早,洗漱完毕,煮了两个鸡蛋一个玉米,然后下去做核酸回来后,吃早餐,打扫卫生,拖地一边拖,一边思考一些事情中午,排骨炖冬瓜,一边吃一边回想,反思每一次反思,我都会后悔我后悔过去浑浑噩噩,没有充。
  • 戈壁滩是什么意思(戈壁滩意思简述)
  • 2024-11-25戈壁滩意思简述戈壁滩是指是地表没有沉积物,主要由巨砾和裸露的基岩组成的地区,它主要由大片砂岩、灰岩、白垩和玄武岩构成,或岩石裸露或仅为一薄层岩石碎屑覆盖戈壁滩多分布在撒哈拉中部和东部地势较高的地区,如廷埃尔特石漠、。
  • 斯琴格日乐离开臧天朔怎么样(为臧天朔被迫堕胎成一生痛)
  • 2024-11-25为臧天朔被迫堕胎成一生痛公元2000年是千禧年,也是新世纪的开端,全球人民都对新世纪的来临充满希望,期盼曙光带来美好斯琴格日乐的第一张唱片《新世纪》应运而生,不仅创造了大陆地区的乐坛神话,她还凭此荣获当时所有的新人奖,可谓“。
  • 多肉植物玉露怎么养(多肉植物玉露如何养)
  • 2024-11-25多肉植物玉露如何养简单的配土就是赤玉土加泥炭土1:1,少浇水,多晒晒,不过夏天不要暴晒多肉有夏眠的品种和冬眠的品种夏眠的夏天不能多浇水,否则就会烂掉,喜好冷一点的环境,冬天也会生长,比如观音连冬眠的冬天不好多浇水,比如。
  • 增城区春晖学校小学收费标准(增城区六所民校收费标准批复)
  • 2024-11-25增城区六所民校收费标准批复6月14号,增城区发改委发布了六所民校的收费标准批复增城区天恩双语学校小学每生每期12000元,学费已含课本费、作业本费、学生体检费等学费的收取遵循“新生新办法,老生老办法”原则,对同一学校同一年级的。