网页版小游戏之——2048

执念博客
2017-08-03 / 4 评论 / 21 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年05月05日,已超过144天没有更新,若内容或图片失效,请留言反馈。

之前比较火的小游戏2048,闲来无事,于是就做了一款网页版的小游戏。下面就跟大家分享一下开发的过程吧。

下面是成品图



其实,开发网页版的游戏最好莫过于使用canvas标签了,不过鉴于该游戏的特殊性,因此只使用了html中的无序列表,利用css对每个li进行了布局,形成了如上图所示的样子。

同时做到四个方向的操作是有一定难度的,不妨先完成一个方向的操作,只要完成一个方向的所有操作,那么另外三个方向的操作也就可以仿照了。

比如说先做向左运动的操作,我将其分为四行,先对第一行分析,将每个li的内容赋值给一个数组,然后从左到右的方向遍历数组,遇到后一个数与前一个相同执行相加操作,如果不相同则向左移动,然后对其他三行也进行此操作。

其中,我认为比较重要的部分就是这段代码:

[code lang="js"]
var nextI;
for (var i=m;i<n;i=i+w){
//先找nextI
nextI = -1;
for (var j=i+w;j<n;j=j+w){
if(arr[j] != 0) {
nextI = j;
break;
}
}
if (nextI != -1) {
//存在下个不为0的位置
if (arr[i] == 0){
arr[i] = arr[nextI];
arr[nextI] = 0;
i = i - w;
flag = true;
}else if(arr[i] == arr[nextI]){
arr[i] = arr[i] *2;
arr[nextI] = 0;
count += 5;
flag = true;
}
}
}
[/code]

这段代码可以说是这个游戏的核心,对生成的每一个数组进行操作,最终达到了整个游戏的实现。

最后的上色和分数的增加由于没有什么难度也就不说了。以下是2048小游戏的演示地址:

http://zhinianblog.com/guozhongbao/example/2048/index.html

本文共 371 个字数,平均阅读时长 ≈ 1分钟
0

打赏

海报

正在生成.....

评论 (4)

取消
  1. 头像
    BudgetVM中文网 Lv.1
    Windows 8.1 · Google Chrome
    沙发

    不错 有点意思

    回复 删除 垃圾
    1. 头像
      Lv.1 作者
      Windows 10 · Google Chrome
      @ BudgetVM中文网

      你的也不错啊

      回复 删除 垃圾
  2. 头像
    板式家具生产线 Lv.1
    Windows 7 · Google Chrome
    板凳

    您好,您的网站做的很不错,很漂亮,我已经收藏了,方便我随时访问.

    回复 删除 垃圾
    1. 头像
      Lv.1 作者
      Windows 10 · Google Chrome
      @ 板式家具生产线

      谢谢收藏

      回复 删除 垃圾