[源码和文档分享]基于Python的PyGame库实现的2048小游戏

一、简介

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

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

6607861-abd81496333dc204.png

二、主要设计

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

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

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

https://www.write-bug.com/article/95.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值