一、简介

2048的游戏规则很简单,每次可以选择上下左右其中一个方向去滑动,每滑动一次,所有的数字方块都会往滑动的方向靠拢外,系统也会在空白的地方乱数出现一个数字方块,相同数字的方块在靠拢、相撞时会相加。系统给予的数字方块不是2就是4,玩家要想办法在这小小的16格范围中凑出“2048”这个数字方块。

游戏的画面很简单,一开始整体16个方格大部分都是灰色的,当玩家拼图出现数字之后就会改变颜色,整体格调很是简单。在玩法规则也非常的简单,一开始方格内会出现2或者4等这两个小数字,玩家只需要上下左右其中一个方向来移动出现的数字,所有的数字就会向滑动的方向靠拢,而滑出的空白方块就会随机出现一个数字,相同的数字相撞时会叠加靠拢,然后一直这样,不断的叠加最终拼凑出2048这个数字就算成功。

二、主要设计

2048游戏的主要算法就是实现数字的移动和相加,我一开始是想的一个数字有四个相邻的位置,上下左右用列表存储,然后遍历判断,但是真正写的时候发现有很多重复的情况存在,而且位置的存储没有办法确定。

所以最后写了一个只实现相加的函数,然后再分别从四个方向去调用它。具体的就是用一个列表,判断它的长度也就是存储连续的相邻的数字个数,然后判断是否有相邻的元素相等,如果有的话相加,单一的单一存储,累计分数也是在这个函数里实现的。

参考文档和完整的文档和源码下载地址:

python实训报告pygame_[源码和文档分享]基于Python的PyGame库实现的2048小游戏相关推荐

  1. [源码和文档分享]基于C#实现的RPG角色扮演类小游戏

    1 需求分析 1.1 游戏概述 DragonQuest是一个角色扮演类游戏(RPG),该游戏实现的具体功能是设计两种类型的人物,分别为被玩家所控制的玩家人物(Hero)和由系统所控制的外部人物(Ene ...

  2. python中文聊天机器人_[源码和文档分享]基于python的中文聊天机器人

    前言 发布这篇 Chat 的初衷是想和各位一起分享一下动手来做聊天机器人的乐趣,因此本篇文章适合用于深度机器学习的研究和兴趣发展,因为从工业应用的角度来看使用百度.科大讯飞的 API 接口会更加的适合 ...

  3. [源码和文档分享]基于WIN32 API界面编程实现的华容道小游戏

    1 游戏简介 华容道是古老的中国智力游戏,由"曹操败走华容道,正与关公狭路逢.只为当初恩义重,放开金锁走蛟龙"这一故事情节引申而来.华容道有一个4*5的二十个方块构成的棋盘,下方边 ...

  4. python用二维码共享文档_[源码和文档分享]基于Python的QR二维码的生成与识别程序...

    摘 要 进入二十一世纪之后,高新技术产业得到了极其迅速的发展.计算机.互联网.物联网.云计算等领域的发展,使得整个社会的信息化程度极大提高.随着技术的不断成熟,目前的一维条形码已逐渐向二维码过渡.本课 ...

  5. python下俄罗斯方块的游戏设计_[源码和文档分享]基于Python的PyGame的俄罗斯方块游戏设计与实现...

    摘 要 近年来,随着游戏产业的突飞猛进,游戏玩家的技术也是与日俱增,当你看见游戏高手完美的表演时,你是否想过我也能达到那种水平,本程序用Python语言编写俄罗斯方块,左侧显示正在运行的游戏,右边显示 ...

  6. [源码和文档分享]基于Python实现的论坛帖子情感分析

    一.课程项目 Scuinfo文本分类分析 二.项目类容 爬取川大匿名社区SCUinfo在一段时间内的帖子,对其进行情感分类分析,包括情绪分类(积极,消极),帖子内容关联分析等. 三.个人工作完成报告 ...

  7. [源码和文档分享]基于Python的拼音汉字转换程序

    1.实验内容 利用统计语言模型实现拼音汉字转换 输入:拼音串,输出:对应的汉字串 给定10000字的测试语料,测试音字转换的准确率 针对音字转换结果中存在的问题给出具体分析 以图表的形式表示上述结果 ...

  8. [源码和文档分享]基于Python的Django框架实现的中式快餐厅管理信息系统网站

    1 初步调研 随着餐饮业的连锁和国外餐饮巨头的进入,餐饮业的竞争将越来越激烈:要想在竞争中处于不败之地,必须在管理.服务等方面提高服务管理意识.面对当前餐饮业普遍的产业化程度低,管理手段.管理技术落后 ...

  9. [源码和文档分享]基于VC++和OpenCV实现的全民飞机大战游戏

    摘要 功能:利用C++语言完成了一个小游戏项目-全民飞机大战,该游戏首先能够给用户提供注册,登录功能:提供了菜单栏及两种游戏模式,一种是无尽模式,另一种是一般模式:一般模式中用户通过控制玩家飞机攻击敌 ...

最新文章

  1. Spring Webflux: Kotlin DSL [片断]
  2. Vue实现仿音乐播放器4-Vue-router实现音乐导航菜单切换
  3. vijos P1051 送给圣诞夜的极光
  4. 【堆】【DP】Niyaz and Small Degrees(luogu 7600[APIO 2021 T3]/luogu-CF1119F)
  5. java 三级考试_java三级考试理论题
  6. 7-27 通讯录的录入与显示 (10 分)
  7. 一步一步安装UEFI分区方式的windows 10 企业版
  8. 荣耀鸿蒙系统内测,官宣!荣耀 Magic UI 4.0 与 EMUI 11 同步内测:后续支持升级为鸿蒙操作系统...
  9. Visual Studio.NET 2008开发一册通--LINQ从基础到项目实战这本书怎么样
  10. 三大运营商的物联网卡如何收费
  11. Linux权限管理命令
  12. HMI车载开发:汽车与Android的关系:Android Automotive
  13. Raspberry pi 3 DSI LCD研究筆記2nd TN92
  14. 国产GP232RL 串口芯片完美兼容FT232RL 引脚开发资料
  15. Android数据库框架Sugar的使用
  16. python父亲节祝福_用python祝福父亲节_父亲节送给父亲的祝福语,挑一句话发朋友圈!...
  17. oracle的insert写法,Oracle中Insert语句的总结
  18. 陕西宝鸡发现桃花水母 (组图)
  19. 视觉SLAM前端——ICP
  20. AI在实时音视频互动中应用的 n 种姿势

热门文章

  1. nodejs之connect
  2. ant design select 坑总结
  3. 181102 Python环境搭建(安装Sublime Text3)
  4. 如何从用户体验的角度去做一个网站的页面设计
  5. 创建一个强名称密钥文件+ 如何在 Visual C# .NET 中将程序集安装到全局程序集缓存中...
  6. numpy.array创建行数超过一行的矩阵为什么要用两层中括号?
  7. python3 发送邮件
  8. c语言程序设计的反思,C语言程序设计教学反思.doc
  9. 网络传输大端序_基于大端法、小端法以及网络字节序的深入理解
  10. 借贷记账法下的账户对应关系_事业单位改用的借贷记账法