欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  互联网

scratch小游戏2048

程序员文章站 2024-01-03 10:16:52
大家好久不见..这段时间太忙一直没有时间码字,让大家久等了,今天给大家带来的是scratch版的2048。这篇推文有点难,大家慢慢看,可以加我微信(cyz20092347)获取源程序。废话不多说,视频见是的,就是这样,几年前很火的小游戏2048,游戏的规则很简单,你需要控制所有方块向同一个方向运动,两个相同数字方块撞在一起之后合并成为他们的和,每次操作之后会随机生成一个2或者4,最终得到一个“2048”的方块就算胜利了。一、流程梳理需要4*4的格子开始时会有三个......

 

大家好久不见..这段时间太忙一直没有时间码字scratch小游戏2048scratch小游戏2048scratch小游戏2048,让大家久等了,今天给大家带来的是scratch版的2048。这篇推文有点难,大家慢慢看,可以加我微信(cyz20092347)获取源程序。废话不多说,视频见

 

是的,就是这样,几年前很火的小游戏2048,游戏的规则很简单,你需要控制所有方块向同一个方向运动,两个相同数字方块撞在一起之后合并成为他们的和,每次操作之后会随机生成一个2或者4,最终得到一个“2048”的方块就算胜利了。

 

一、流程梳理

  1. 需要4*4的格子

  2. 开始时会有三个随机的数字(2、4)出现在不同的位置

  3. 按方向键控制对应的移动

格子这里很简单,不建议大家直接去使用网上的图片,因为后面数字的移动需要通过坐标去完成,只需要通过画笔画出线条就行了,这个之前的五子棋已经讲过啦,不会的可以去翻翻,我们将格子的大小设置为80。

scratch小游戏2048

二、数字初始化

接下来我们就要让数字随机的出现在屏幕中,但是这步需要解决三个问题:a、数字的造型

b、三个随机数字,随机为2、4

c、位置随机,且每一个数字位置不同

首先解决a问题,我们可以通过scratch的造型编辑添加数字造型。在添加时,需注意所有的方格大小一致且角色中心位置保持一致。且造型名改为“造型+数字”方便后面使用

scratch小游戏2048

scratch小游戏2048

接下来解决b问题数字随机范围,因为最开始的数字只会是2或4,那怎么样可以通过随机数得到呢,我们可以使用2*1到2的随机数,然后存到对应的列表中储存,方面后面使用

scratch小游戏2048

最后1个也就是问题c位置的随机且位置不重复,我们就需要将每一个数字的坐标记录下来存到列表,然后判定列表中是否有重复:如果没有,则添加进列表,换成合适造型移动到对应的位置,印章;如果重复则再重新添加新的随机位置

scratch小游戏2048

三、方向移动控制

这里逻辑比较复杂,以上按键为例:当我按上按键时,所有的数字会向上移动,但是肯定会有个先后顺序,我们暂且规定,上方的数字先进行移动。那么问题又来了,我怎么确定数字所在位置的高低呢?那就需要对数列Y进行排序呢,由大到小进行排列。

scratch小游戏2048

又因为数列Y表示的是格子的坐标,为了保证坐标的准确性,在修改数列Y时,也得依据数列Y的序号更改数列X及已存在坐标数列,和存储数字的数列

scratch小游戏2048

排序后接下来,就是对序号1的数字进行移动了,那么此时还需要判定,是否数字已处于最上方1格:如果是则不移动,跳转到序号2数字;如果不是则需要将数字擦除后移动到上一格。我们可以在当前角色造型里在新建一个有着白色矩形的造型,这样就可以遮盖住数字。移动到上一个也很简单,在原Y坐标的基础上加80(格子大小),然后添加到对应的列表中,并保证列表顺序不变。

scratch小游戏2048

移动到上方后就可以显示了吗?不不,还需要判断移动到的格子内是否有数字:如果有则继续判断数字是否一致,如果没有则印章

scratch小游戏2048

那怎么判断数字是否一致呢?一致时,那么会数字数列中会存在相同的数字,且相同数字的两个序号对应的坐标也相同。那么我们可以先找到scratch小游戏2048我们判定的坐标,然后在找到和坐标相同数字的序号

scratch小游戏2048

为什么是第一个?因为我们是从Y的高低进行依次判定的,移到上方后碰到数字,那么肯定是在序号在前。找到后再判定两个序号对应的数字数列是否相同:相同则表示两个数字可以相加然后印章,不同则需要回退到原来位置印章。

scratch小游戏2048

数字相加时,需要将上方的数字改为scratch小游戏2048,然后重新图章,重新更改数字数列,删除下方数字对应的所有列表项

scratch小游戏2048

回退时,需要恢复到原来的坐标位置,更改好之前的对应数列,换成对应造型,图章

scratch小游戏2048

四、新增数字

当数字移动后,就会有新的数字出来,但是此时也需要注意,数字大大小范围,以及出现的位置,以及当数字有16个时,就不会有新的数字出现了。

好了,此篇推文就讲到这了,更多的是帮大家梳理思路,大家不用照着我上图片写,我有些程序模块没放全scratch小游戏2048,如果大家对程序有疑问或者想获取源程序可以加我微信交流哦,喜欢可以帮忙点个在看

scratch小游戏2048

 

本文地址:https://blog.csdn.net/chenxiaochu/article/details/107892184

上一篇:

下一篇: