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的更多相关文章
- python实战:用70行代码写了一个山炮计算器!
python实战训练:用70行代码写了个山炮计算器! 好了...好了...各位因为我是三年级而发牢骚的各位伙伴们,我第一次为大家插播了python的基础实战训练.这个,我是想给,那些python基础一 ...
- 【编程教室】PONG - 100行代码写一个弹球游戏
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...
- 50行代码写的一个插件,破解一个H5小游戏
小游戏链接:测测你的眼睛对色差的辨识度http://www.webhek.com/post/color-test.html?from=timeline 废话不多说,先放代码: window.onloa ...
- [500lines]500行代码写web server
项目地址:https://github.com/aosabook/500lines/tree/master/web-server.作者是来自Mozilla的Greg Wilson.项目是用py2写成. ...
- 几百行代码写个Mybatis,原理搞的透透的!
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 Mybatis 最核心的原理也是它最便于使用的体现,为什么这说? 因为我们在使用 M ...
- 200行Python代码实现2048
200行Python代码实现2048 一.实验说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面 ...
- 10 行 Python 代码写的模糊查询
导语: 模糊匹配可以算是现代编辑器(在选择要打开的文件时)的一个必备特性了,它所做的就是根据用户输入的部分内容,猜测用户想要的文件名,并提供一个推荐列表供用户选择. 样例如下: Vim (Ctrl-P ...
- 不写1行代码,在Mac上体验ASP.NET 5的最简单方法
昨天微软发布了ASP.NET 5 beta2(详见ASP.NET 5 Beta2 发布),对ASP.NET 5的好奇心又被激发了. 今天下午在Mac OS X上体验了一下ASP.NET 5,而且借助Y ...
- 只写104行代码!在nopCommerce中如何实现自动生成网站地图
表告诉我说你不知道nopCommerce是什么.它是目前.NET中最流行的完全开源网上商城,由俄罗斯的团队在2008年开始立项一直开发到现在已经是3.3版本了.代码目前托管在codeplex上,有兴趣 ...
随机推荐
- 使用Charles在iOS6上进行抓包
抓取Web页面的网络请求很容易,Chrome和Firefox都很容易做到.iOS APP如何抓包呢?其实也很容易,我比较喜欢使用 Charles. 我用的是Mac电脑,首先建立一个热点,然后让iOS设 ...
- beego 批量删除问题
o := orm.NewOrm() qs := o.QueryTable(new(ExecutionJobs)) javaTimestamp = 1557738394000 qs = ...
- 文件上传之Java篇
最近做了一个下载文档的功能,于是联想到了上传功能,于是自己研究了一下后台语言是java的情况下怎样实现将文件上传到指定的目录,以下是项目的语言: 1.后台用jfinal框架 2.前台用jquery提交 ...
- 关于python的字典操作
字典和列表的区别: 列表是有序的 字典是无序的 字典使用{}定义 字典使用键值对存储数据,键值对之间使用 “ ,”分隔 键 key 是索引 值 value 是数据 键和值之间使用 “ :”分隔 ...
- 验证码倒计时js
getVarify.js // 验证码计时--第一种 window.onload = function () { var send = document.getElementById('send'), ...
- oracle使用dblink跨库查询的例子
本文介绍了oracle数据库使用dblink进行跨库查询的方法,oracle dblink跨库查询教程,需要的朋友参考下. oracle dblink跨库查询 方法一:首先,创建数据库链接: 复制 ...
- LINUX常见服务列表
服务名 必需(是/否)用途描述 注解 acon 否 语言支持 特别支持左手书写语言:阿拉伯语,波斯语和希伯莱语 acpi ...
- 洛谷P1244 [NOI2000] 青蛙过河 [2017年4月计划 动态规划07]
P1244 青蛙过河 题目描述 有一条河,左边一个石墩(A区)上有编号为1,2,3,4,…,n的n只青蛙,河中有k个荷叶(C区),还有h个石墩(D区),右边有一个石墩(B区),如下图所示.n只青蛙要过 ...
- Javascript-随滚轮匀速滑动的浮动广告窗动画
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- BZOJ1455罗马游戏
左偏树裸题. 题面描述让人意识到了平面几何的重要性. //Achen #include<algorithm> #include<iostream> #include<cs ...