<!doctype html>
<meta name="author" content="苏道涵"/>
<meta name="keywords" content="2048"/>
<meta http-equiv="content-Type" content="text/html;charset=gb2312"/><html>
<head>
<title>2048小游戏</title>
<style>
.up,.down,.left,.right{
font-size:30px;}
canvas{
border-style:solid;
float:left;
}
.right{float:left;
margin-top:80px;
margin-left:400px;
height:100px;
width:50px;
}
.down,.up{margin-left:550px;
}
.left{
margin-top:80px;
margin-bottom:100px;}</style>
</head><body>
<h1 align=center>2048小游戏</h1>
<div class="down" onclick="down()">下</div>
<div class="right" onclick="right()">右</div>
<canvas id="drawing" height=200px width=200px ></canvas>
<div class="left" onclick="left()">左</div>
<div class="up" onclick="up()">上</div>
<script>
var tArray=new Array();
for(var i=0;i<4;i++){
tArray[i]=new Array();
for(var t=0;t<4;t++){
tArray[i][t]="";
}
}
var locx;var locy;
function produce(){
locx=Math.ceil(Math.random()*4-1);
locy=Math.ceil(Math.random()*4-1);
if(locx==-1||locy==-1||tArray[locx][locy]!=""){
produce();
}
}
produce();
tArray[locx][locy]=2;
produce();
tArray[locx][locy]=4;
var drawing=document.getElementById("drawing");
if(drawing.getContext){
var context=drawing.getContext("2d");
context.beginPath();
context.lineWidth=0.25;
for(var t2=0;t2<3;t2++){
context.moveTo(50+t2*50,0);
context.lineTo(50+t2*50,200);
}
for(var i2=0;i2<3;i2++){
context.moveTo(0,50+i2*50);
context.lineTo(200,50+i2*50);
}context.stroke();}function display(){
for(var t1=0;t1<4;t1++){
for(var i1=0;i1<4;i1++){
context.clearRect(50*t1,50*i1,50,50);
context.strokeRect(50*t1,50*i1,50,50);
context.fillText(tArray[t1][i1],20+50*t1,30+50*i1);
}
}}
display();
var zeno=0;
function down(){for(var t3=0;t3<4;t3++){
for(var i3=0;i3<4;i3++){
if(tArray[t3][i3]==""){
zeno++;
}
else if((zeno!=0)&&(i3>zeno)&&(tArray[t3][i3-1-zeno]==tArray[t3][i3])){
tArray[t3][i3-1-zeno]=tArray[t3][i3-1-zeno]+tArray[t3][i3];
tArray[t3][i3]="";
zeno++;
}
else{if(tArray[t3][i3+1]==tArray[t3][i3]){
tArray[t3][i3]=tArray[t3][i3]+tArray[t3][i3+1];
tArray[t3][i3+1]="";}if(zeno!=0){
tArray[t3][i3-zeno]=tArray[t3][i3];
tArray[t3][i3]="";
}}}zeno=0;
}
output();
display();
zeno=0;
}function up(){
for(var t3=0;t3<4;t3++){
for(var i3=3;i3>=0;i3--){
if(tArray[t3][i3]==""){
zeno++;
}
else if((zeno!=0)&&(tArray[t3][i3+1+zeno]==tArray[t3][i3])){
tArray[t3][i3+1+zeno]=tArray[t3][i3+1+zeno]+tArray[t3][i3];
tArray[t3][i3]="";
zeno++;
}
else{if(i3>0&&tArray[t3][i3-1]==tArray[t3][i3]){
tArray[t3][i3]=tArray[t3][i3]+tArray[t3][i3-1];
tArray[t3][i3-1]="";}if(zeno!=0){
tArray[t3][i3+zeno]=tArray[t3][i3];
tArray[t3][i3]="";
}}}zeno=0;
}
output();
display();
zeno=0;
}function right(){
for(var i3=0;i3<4;i3++){
for(var t3=0;t3<4;t3++){
if(tArray[t3][i3]==""){
zeno++;
}
else if((zeno!=0)&&(t3>zeno)&&(tArray[t3-1-zeno][i3]==tArray[t3][i3])){
tArray[t3-1-zeno][i3]=tArray[t3-1-zeno][i3]+tArray[t3][i3];
tArray[t3][i3]="";
zeno++;
}
else{if(t3<3&&tArray[t3+1][i3]==tArray[t3][i3]){
tArray[t3][i3]=tArray[t3][i3]+tArray[t3+1][i3];
tArray[t3+1][i3]="";}if(zeno!=0){
tArray[t3-zeno][i3]=tArray[t3][i3];
tArray[t3][i3]="";
}}}zeno=0;
}
output();
display();
zeno=0;
}function left(){
for(var i3=0;i3<4;i3++){
for(var t3=3;t3>=0;t3--){
if(tArray[t3][i3]==""){
zeno++;
}
else if((zeno!=0)&&(t3+1+zeno<4)&&(tArray[t3+1+zeno][i3]==tArray[t3][i3])){
tArray[t3+1+zeno][i3]=tArray[t3+1+zeno][i3]+tArray[t3][i3];
tArray[t3][i3]="";
zeno++;
}
else{if(t3>0&&tArray[t3-1][i3]==tArray[t3][i3]){
tArray[t3][i3]=tArray[t3][i3]+tArray[t3-1][i3];
tArray[t3-1][i3]="";}if(zeno!=0){
tArray[t3+zeno][i3]=tArray[t3][i3];
tArray[t3][i3]="";
}}}zeno=0;
}
output();
display();
zeno=0;}
function output(){
produce();
if(Math.random()>0.5)
tArray[locx][locy]=4;
else
tArray[locx][locy]=2;
}</script>
</body></html>

html5小游戏代码-2048游戏相关推荐

  1. flash制作打地鼠游戏代码,打地鼠游戏编程代码

    怎么做一个在手机上能玩的打地鼠小游戏? 谷歌人工智能写作项目:小发猫 C语言编程打地鼠 刚写好的,打地鼠小游戏typescript数据类型转换.功能:每三秒,会在游戏区域随机位置刷出地鼠,鼠标点击地鼠 ...

  2. 【taro react】(游戏) ---- 类2048游戏,看看在秦朝,功勋爵位你能到哪一级

    说明 原理就是在2048游戏逻辑的基础上,将数字替换为对应的秦朝功勋爵位等级: 由于很少有人有耐心耍到最后的,所以本文将20级功勋爵位中提取了12级,不连续: 有想对功勋爵位制详细了解的秦朝二十级军功 ...

  3. java球球大作战小游戏代码_windows游戏编程:球球大作战(吃鸡版)源码

    #include "stdafx.h"是win32程序系统生成的 创建项目时选择win32程序项目 除了下面代码外,无其他改动 #include "stdafx.h&qu ...

  4. java2d游戏代码_JAVA游戏编程学习笔记(三)Java 2D游戏底层绘图框架

    前二篇记录了java如何绘制图形与动画,今天打算总结复习一下,把这些知识点集合起来,制作一个Java2D小游戏框架(暂且这么叫,好像挺牛逼似的!). Java AWT 下边提供一个 class Can ...

  5. java线程池游戏代码,Java游戏起步:(一)线程与线程池-JSP教程,Java技巧及代码...

    任何游戏都至少需要运行两个线程,主线程和gui线程 而线程池是一个管理运行线程的有用工具,下面的代码示范了一个线程池的实现方法~~ ********************************** ...

  6. python外星人入侵游戏代码_Python游戏:外星人入侵游戏编程完整版!内附代码

    importsysimportpygamefrom bullet importBulletfrom alien importAlienfrom time importsleepdefcheck_eve ...

  7. python编写猜数游戏代码、如果不是整数、显示输入错误_数字炸弹游戏程序 用python来实现...

    相信许多小伙伴都玩过数字炸弹游戏,就是指在一定数字范围(一般是整数,不包含边界)里,一个玩家选中一个数字当作炸弹,其余玩家在这个范围含数字,每次只要没猜中炸弹数字,则根据玩家猜的数字缩小范围,直至其中 ...

  8. python编写猜数游戏代码、如果不是整数、显示输入错误_python编写猜数游戏代码、如果不是整数、显示输入错误_数字炸弹游戏程序 用python来实现......

    相信许多小伙伴都玩过数字炸弹游戏,就是指在一定数字范围(一般是整数,不包含边界)里,一个玩家选中一个数字当作炸弹,其余玩家在这个范围含数字,每次只要没猜中炸弹数字,则根据玩家猜的数字缩小范围,直至其中 ...

  9. Cocos2d-x 3.x版2048游戏开发

    Cocos2d-x 3.x版2048游戏开发 本篇博客给大家介绍如何快速开发2048这样一款休闲游戏,理解整个2048游戏的开发流程,从本篇博客你将可以学习到以下内容: 这里注明一下,本教程来自极客学 ...

  10. 2048Game/2048游戏(自制版)

    2048Game Index of the project/项目主页 Donation/捐助 开发的比较简陋, 因为主要是为了测试. 因此没有GUI, 而且所有函数都编写在cpp里面.很不雅观.请见谅 ...

最新文章

  1. ai为什么要栅格化_英语学习为什么不能“碎片化”?要想学好英语,系统化是关键...
  2. TF之LSTM:基于Tensorflow框架采用PTB数据集建立LSTM网络的自然语言建模
  3. 互联网1分钟 |1026
  4. spring自动装配依赖包_解决Spring自动装配中的循环依赖
  5. “约见”面试官系列之常见面试题之第六十篇之事件绑定和普通事件(建议收藏)
  6. Django中celery配置总结
  7. Intellij IDEA Cannot resolve symbol XXX 问题解决办法汇总
  8. mysql备份的 三种方式
  9. 为什么要玩FLTK(Fast Light Tool Kit)
  10. Linux基础命令Xmind图【百度网盘链接】
  11. matlab画填充直方图,matlab使用imhist、plot、fill画可填充颜色连续直方图
  12. 开源的网页防篡改监控工具推荐——WGCLOUD
  13. linux c如何判断字符串是否为空
  14. java 文件流 乱码_Java IO流之中文乱码
  15. 服务器客户端证书,使用服务器和客户端证书以及私钥创建SSLContext
  16. 实现winfrom进度条及进度信息提示,winfrom程序假死处理
  17. python 小说下载工具_笔趣阁小说爬取工具【附源码】下载Python版
  18. 小波分解与小波包分解代码_分解的功能参数和代码可维护性
  19. 服务器用户名 administrator 修改,windows2003中Administrator用户名与密码修改图解Windows服务器操作系统 -电脑资料...
  20. 微信小程序接入知晓云插件sdk入门

热门文章

  1. “LED+智能”在公路隧道照明的应用研究
  2. 单片机c语言 一小时,1小时单片机C语言入门..doc
  3. 计算机如何删除用不到的打印机驱动程序,win7卸载不了打印机驱动怎么办
  4. Java实现最简单局域网QQ
  5. mapbox绘制航线图
  6. 将VS2010的工程转换为VS2005,即用VS2005打开
  7. 谷歌浏览器设置定位_谷歌浏览器手动设置位置信息
  8. 不同产品类型、不同应用、产能、产量、销量、需求量及销售收入-外置固态硬盘
  9. 三维场景 WGS84 和街景(百度街景,腾讯街景,google街景,orbitgt街景)联动
  10. 毕向东 Java学习 笔记一