2048小游戏思路

本文总结了2048小游戏的实现思路,包括初始化时如何生成随机数并填充棋盘,如何监听键盘事件并处理上下左右移动,以及移动和合并数字的逻辑,并介绍了判断游戏结束和胜利的条件。
摘要由CSDN通过智能技术生成

在面试的时候被面试官问道2048的实现思路,以下是总结。
2048小游戏思路
1、初始化,在空格子中产生两个2,4的随机数。
(1)封装生成随机数方法,将min + Math.round((max-min) * Math.random())封装为getRandom(min,max)方法,该方法接受两个值,最大值max和最小值min,getRandom方法是获取[min,max]之间的一个随机数;
(2)封装生成随机数,放入空格子中的方法createFunc(),首先生成两个随机的[0,3]之间的随机数,锁定一个格子的横纵坐i,j,即i=getRandom(0,3),j=getRandom(0,3),然后判断arr[i][j]中的值是否为空,为空则随机生成一个2或4,放入该空格子中即arr[i][j]=getRandom(1,2)2;若判断arr[i][j]中有数值,则遍历arr数组值判断棋盘是否满了,如果没有满则再次执行createFunc()方法;
(3)封装初始化方法initFunc(),将4
4的table中的每个cell赋予固定的id,id=‘i’+‘j’,arr数组值赋为空,调用两次createFunc()方法,在table中随机的cell中生成两个2或4;

2、监听键盘向上/下/左/右,封装监听方法monitorFunc(),监听输入的上下左右按键的keyCode,以上按键为例子(keyCode=38),首先至上到下遍历数组(如果是下按键,则至下到上遍历),然后需要一个指针q(在n*n中,指针的范围0~n-1),指针指向格子的上方,用i

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值