js280行代码写2048

2048 原作者就是用Js写的,一直想尝试,但久久未动手。

昨天教学生学习JS代码。不妨就做个有趣的游戏好了。2048这么火,是一个不错的选择。

思路:

1. 数组 ,2维数组4x4

2. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。

移动前

移动后(注意程序合并了第一行2个2,并产生了新的2)

移动算法分2步:

第一步骤:移动

第二步骤:合并

移动代码参考:

    function left(t,i)
    {
      var j;
      var len = t[i].length;
      for (j=0;j<len-1;j++)
        {
          if (t[i][j] == 0 && t[i][j+1] != 0)
          {
            temp = t[i][j];
            t[i][j] = t[i][j+1];
            t[i][j+1] = temp;
            left(t,i);

          }
        }

    }

合并代码参考:

    function lcombine(a,i)
    {
      var len = a[i].length;

      for(var j=0;j<len-2;j++)
      {
        if (a[i][j] == a[i][j+1])
        {
          a[i][j] *=2;
          a[i][j+1] = 0;
          left(a,i);
          break;
        }
      }
    }

3.显示

显示部分CSS来源 2048源作者程序。

显示代码:

    function display_div ()
    {
      var i,j;
      var n = "#d";
      for (i = 0 ;i < 4 ;i++)
      {
        for(j=0;j<4;j++)
        {
          if (a[i][j] !=0)
            $(n+(i*4+j)).html("<div class=‘tile tile-"+a[i][j]+"‘><div class=‘tile-inner‘>"+a[i][j]+"</div></div>");
          else
            $(n+(i*4+j)).html("");

        }
      }
    }

这段代码是把数组内容显示到  4x4表格内。

全部代码:http://jsbin.com/biximuho/6/edit

280多行。

js280行代码写2048,布布扣,bubuko.com

时间: 2024-12-21 18:03:03

js280行代码写2048的相关文章

反-反爬虫:用几行代码写出和人类一样的动态爬虫

欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:李大伟 Phantomjs简介 什么是Phantomjs Phantomjs官网介绍是:不需要浏览器的完整web协议栈(Full web stack No browser required),也就是常说的无头浏览器--或者好听点叫做:无界面的web解析器. Phantomjs的特点 由于"无头"--免去了渲染可视化的网页界面,她的速度要比一般的浏览器快不少,又因为她是完整的web协议栈,所以不仅仅提供了JavaScri

1000行代码写小游戏(终)

最后献上完整的1000行代码,基本功能已经完成,可以通过配置小怪和矿的位置和大小控制玩家时长和难度: -------------------------------------------------------------------------------------------- -- Added by ??? ------------------------------------------------------------------------------------------

教你10行代码写侧滑菜单

原帖发表于传智播客黑马训程序员论坛,地址:http://bbs.itheima.com/thread-167442-1-1.html 先来看个侧滑菜单效果: 上面分别为:初始状态->滑动中->松开打开菜单 你造吗?看完本文章,写这种侧滑菜单,so easy for you! 你造吗?其实写这个侧滑菜单,只需要10行手写代码就能搞定! 你造吗?看完本文章,当你再听到产品说"我要这个效果"时,再也不会底气不足! 在Android开发中,自定义View效果是属于高级的部分.因为常

都说Djnago框架重,那就让哥用15行代码写个django web程序!

很多初学django的小伙伴都会了解到,django是个大而全的网络框架,本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能.要学这么多内容,要学到猴年马月啊!? 不过世界真是奇妙,现在咱们就在猴年马月里!2016年是猴年,按农历计算,6月5日至7月3日是庚午月,正好是"猴年"里的"马月".那么问题来了:你想不想在猴年马月里学会django呢? 下面我们尝试一下,用15行代码结合django写个web程序,来一次django的清爽体验. djang

[500lines]500行代码写web server

项目地址:https://github.com/aosabook/500lines/tree/master/web-server.作者是来自Mozilla的Greg Wilson.项目是用py2写成.下面文章中贴出的是已经转换后的能在python3.4下运行的代码,所以可能会与原先的有少许不同. 简单地讲,你在浏览器里输入一个网址,浏览器作为客户端会通过DNS解析域名找到对应的IP,并将这串字符串的一部分作为请求发给这个IP的服务器,服务器解析字符串,解析出你的请求内容做出相应处理,然后把一串字

蛋疼之作:99行代码的2048

基于Python和numpy,自带基于Tk最简仿原生2048配色的图形界面.文件代码行数(Physical LOC)一共99,因为是Python所以逻辑行数未必. Not Pythonic, PEP8 is not followed. 对2048游戏规则的理解: 1) 方块合并时从滑动所指方向开始合并,合并不递归,比如: | |2|2|2|向右滑动后,最右两块合并,变为| | |2|4| |2|2|2|2|向右滑动后,最右和最左两块分别合并,变为| | |4|4| 2) 每次滑动后如果方块发生了

280行代码:Javascript 写的2048游戏

2048 原作者就是用Js写的,一直想尝试,但久久未动手. 昨天教学生学习JS代码.不妨就做个有趣的游戏好了.2048这么火,是一个不错的选择. 思路: 1. 数组 ,2维数组4x4 2. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐. 移动前 移动后(注意程序合并了第一行2个2,并产生了新的2) 移动算法分2步: 第一步骤:移动 第二步骤:合并 移动代码参考: [html] view plaincopy function left(t,i) { var j; var len 

一起来写2048(160行python代码)

前言: Life is short ,you need python. --Bruce Eckel 我与2048的缘,不是缘于一个玩家,而是一次,一次,重新的ACM比赛.四月份校赛初赛,第一次碰到2048,两周后决赛再次遇到2048,后来五月份的广东省赛,又出现了2048.在这三次比赛过程中,我一次2048都没玩过..全靠队友的解释,直到昨天,我突然想起写个2048吧,于是下了个2048玩了几盘,之后就開始用python来写了,心想就不写界面了,为了简洁. 我对python并不熟悉,可是我在之前

200行Python代码实现2048

200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: LX终端(LXTerminal): Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令 GVim:非常好用的编辑器,最简单的用法可以参考课程Vim编辑器 3. 环境使用 使用GVim编辑器输入实验所需的代码及文件,使用LX终端(LXTerminal)运行所需命令进行操