美文网首页
2048游戏逻辑(2)---上下左右移动

2048游戏逻辑(2)---上下左右移动

作者: 普通不平庸 | 来源:发表于2017-08-25 18:31 被阅读0次

监听左右上下移动代码

这个版本的暂时没有做手机端的,只做了pc端,后续会优化

上下左右移动

主要解释向左移动:

首先就遇到一个能否左移动的问题,向左移动,就从第一行开始循环,循环到最后一行,在这个循环内部,因为是向左移动,所以最左边的那一列是不参与判断的,所以列数从1开始循环,截止第3列。如果当前这个格的数值如果是0就进行下一步循环,如果不是0,就进行判断,看这格的数值与他左边的那个数字是否相等 或者 他左边的数字是否为0(因为在程序中如果为0就代表这一格为空)满足条件就跳出循环直接返回true. 如果循环完全结束没有符合条件的就返回 false

是够可以左移动

向左移动正式函数:

再看moveLeft函数,这一点有点绕,我想了很久明白了,根绝这个左移动自然就不难写出其他的移动函数,

左移动:

从第一行开始循环,循环内部从

第二列开始循环,判断这一格数字是否为0,如果为空则进入下一列循环,否则就从第一列到目前这列之间开始循环,由于行数是确定的是i行,这个循环里面我用k表示循环里的当前列,如果当前循环列这个格数字不为0,(这里外层有一个判断条件即board[i][j] !== 0,这里一定要搞清楚不要混淆),同时还有一个条件就是i 行的 k 列和i列之间没有障碍,这里通过一个函数来判断,(k<j),只需循环这两列之间的格格,只要这个循环的当前值不登录0说明这两列之间有障碍,返回false,否则返回 true,返回true时候就把board[i][k]=board[i][j]; 同时把board[i][j] =0;

如果当前循环列这个数字与外层循环的那个格格相同的时候,并且这两列之间没有障碍物,数值就相加,即加倍

向左移动函数

这里有一个函数用来判断某行的某一列到另一列之间是否有空间(左移动自然是水平方向)

同一行两列之间有没有缝隙

从某一个位置到另一个位置做一个动画

移动做一个动画效果

其余的上,下,右移动效果自然出现了

相关文章

  • 2048游戏逻辑(2)---上下左右移动

    监听左右上下移动代码 这个版本的暂时没有做手机端的,只做了pc端,后续会优化 主要解释向左移动: 首先就遇到一个能...

  • Html5游戏之2048

    canvas版2048,PC端上下左右控制,并支持移动端滑动控制(发现canvas做这种小游戏真是方便啊) 首先用...

  • 2048游戏逻辑(4)---GAME OVER

    通过前三小节的讲述,我们实现了随机数/上下左右移动产生的效果,至此2048接近尾声了。 进入了游戏的结束功能判断 ...

  • Python 《Python 实现 2048 游戏》实验报告

    2048 游戏 wiki:《2048》是一款单人在线和移动端游戏,由19岁的意大利人 Gabriele Cirul...

  • 1.再撸一个2048

    前言 大一学期末的时候,用Winform做过一个2048?传送门,移动时没有动画,游戏界面还算美观,但核心逻辑嘛,...

  • [数据结构]游戏2048 解题报告

    Problem Description 《2048》是一款数字益智游戏,在4*4的方格中通过上下左右滑动来控制数字...

  • 跳出2048框架下的《世界怪兽战争》

    2048是一个以相同数字相加得到更大数字为基础的游戏。普通的2048游戏都有一个固定的方框,当移动数字的时...

  • 游戏 2019-12-17

    今天下的是VOODOO新游戏 2048 balls 3D 2048游戏源于1+2=3,之后衍生为1024,2048...

  • 制作游戏很简单,基于 C++/Qt 开发的 2048 游戏!

    这是一个基于 C++/Qt 开发的 2048 游戏。游戏逻辑采用 C++ 编写,界面基于 Qt 5.2.1 开发。...

  • 2048

    no.1 项目:2048小游戏 游戏规则:2048游戏共有16个格子,初始时初始数字由2或者4构成。1、手指向一个...

网友评论

      本文标题:2048游戏逻辑(2)---上下左右移动

      本文链接:https://www.haomeiwen.com/subject/aphpdxtx.html