280行代码:Javascript 写的2048游戏
2014-05-31 08:36
393 查看
2048 原作者就是用Js写的,一直想尝试,但久久未动手。昨天教学生学习JS代码。不妨就做个有趣的游戏好了。2048这么火,是一个不错的选择。
思路:1. 数组 ,2维数组4x42. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。
移动前
移动后(注意程序合并了第一行2个2,并产生了新的2)
移动算法分2步:第一步骤:移动第二步骤:合并
移动代码参考:[html] view plaincopy
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);
}
}
}
合并代码参考:[html] view plaincopy
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源作者程序。显示代码:
[html] view plaincopy
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
思路:1. 数组 ,2维数组4x42. 移动算法,移动后有数字的对齐,无数字(我用的0,但不显示)补齐。
移动前
移动后(注意程序合并了第一行2个2,并产生了新的2)
移动算法分2步:第一步骤:移动第二步骤:合并
移动代码参考:[html] view plaincopy
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);
}
}
}
合并代码参考:[html] view plaincopy
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源作者程序。显示代码:
[html] view plaincopy
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行代码:Javascript 写的2048游戏
- 280行代码:Javascript 写的2048游戏
- 280行代码:Javascript 写的2048游戏
- 最少javascript代码完成一个2048游戏
- 最少javascript代码完成一个2048游戏
- 最少javascript代码完成一个2048游戏
- 一些实用的 Javascript 代码
- 一些实用的javascript代码(转载)
- 收集实用功能和经典的javaScript代码
- javascript:加入收藏的代码
- 一些实用的 Javascript 代码
- 单击服务器控件button时不运行服务器端代码,只运行javascript代码
- JavaScript代码收集
- [JavaScript]一段把客户端的中文字串转换成UTF-8的代码
- popmenu2.01发布和JavaScript代码的封装
- javascript:设为首页的代码
- 判断页面是否被改动过的JavaScript代码
- 在VB代码中调用JavaScript ClientSidePage 代码实例
- 有关"集成搜索"的javascript代码
- ASP动态生成的javascript表单验证代码