HTML5推箱子机理实现
来源:互联网 发布:达观数据公司简介 编辑:程序博客网 时间:2024/06/06 14:03
<!DOCTYPE><html>
<head>
<title></title>
</head>
<body>
<canvas id="maps" width="550" height="550">Sorry Your explorer cannot use HTML5</canvas>
<button id="restart" onClick="reset()">Restart</button>
<div id="score" align="center"></div>
<!-- canvas initiate OK! -->
<script>
function reset(){
window.location.reload();
}
</script>
<script>
var x;
var y;
var myx=6;
var myy=6;
var des=[[1,5],[6,1],[9,6],[5,9]];
var scores=0;
var myscore=document.getElementById("score");
var matrix=[[1,1,1,1,1,1,1,1,1,1,1],
[1,1,1,1,1,0,1,1,1,1,1],
[1,1,1,1,1,0,1,1,1,1,1],
[1,1,1,1,1,0,1,1,1,1,1],
[1,1,1,1,1,0,1,1,1,1,1],
[1,1,1,1,1,3,0,3,0,0,1],
[1,0,0,0,0,3,0,1,1,1,1],
[1,1,1,1,1,1,3,1,1,1,1],
[1,1,1,1,1,1,0,1,1,1,1],
[1,1,1,1,1,1,0,1,1,1,1],
[1,1,1,1,1,1,1,1,1,1,1]
];
canvas=document.getElementById("maps").getContext('2d');
function Draw()
{
/*
0:空地
1:墙
2:人
3:箱子
-1:目的地
*/
for(x=0;x<11;x++)
for(y=0;y<11;y++)
{
switch(matrix[x][y])
{
case 0:
{
canvas.fillStyle='#00FF00';
canvas.fillRect(x*50,y*50,50,50);
break;
}
case 1:
{
canvas.fillStyle='#0000FF';
canvas.fillRect(x*50,y*50,50,50);
break;
}
case 2:
{
canvas.fillStyle='#00006D';
canvas.fillRect(x*50,y*50,50,50);
break;
}
case 3:
{
canvas.fillStyle='#FF0000';
canvas.fillRect(x*50,y*50,50,50);
break;
}
case -1:
{
canvas.fillStyle='#030303';
canvas.fillRect(x*50,y*50,50,50);
break;
}
}
}
}
function keyDown() {
scores+=1;
var value= event.keyCode
var key = String.fromCharCode(event.keyCode)
switch(value){
case 37:if(matrix[myx-1][myy]!=1)
if(matrix[myx-1][myy]!=3)
{matrix[myx][myy]=0;myx-=1;matrix[myx][myy]=2;}
else
if(matrix[myx-2][myy]!=1)
{matrix[myx][myy]=0;myx-=1;matrix[myx][myy]=2;matrix[myx-1][myy]=3;}
break;
case 38:if(matrix[myx][myy-1]!=1)
if(matrix[myx][myy-1]!=3)
{matrix[myx][myy]=0;myy-=1;matrix[myx][myy]=2;}
else
if(matrix[myx][myy-2]!=1)
{matrix[myx][myy]=0;myy-=1;matrix[myx][myy]=2;matrix[myx][myy-1]=3;}
break;
case 39:if(matrix[myx+1][myy]!=1)
if(matrix[myx+1][myy]!=3)
{matrix[myx][myy]=0;myx+=1;matrix[myx][myy]=2;}
else
if(matrix[myx+2][myy]!=1)
{matrix[myx][myy]=0;myx+=1;matrix[myx][myy]=2;matrix[myx+1][myy]=3;}
break;
case 40:if(matrix[myx][myy+1]!=1)
if(matrix[myx][myy+1]!=3)
{matrix[myx][myy]=0;myy+=1;matrix[myx][myy]=2;}
else
if(matrix[myx][myy+2]!=1)
{matrix[myx][myy]=0;myy+=1;matrix[myx][myy]=2;matrix[myx][myy+1]=3;}
break;
}
for(x=0;x<4;x++)if(matrix[des[x][0]][des[x][1]]!=3&&matrix[des[x][0]][des[x][1]]!=2)matrix[des[x][0]][des[x][1]]=-1;
Draw();
myscore.innerHTML="<h1><b>Havs Press: "+scores+" Times</b></h1>";
for(x=0;x<4;x++)
if(matrix[des[x][0]][des[x][1]]!=3)
return;
alert("You Win!");
}
for(x=0;x<4;x++)if(matrix[des[x][0]][des[x][1]]!=3&&matrix[des[x][0]][des[x][1]]!=2)matrix[des[x][0]][des[x][1]]=-1;
matrix[myx][myy]=2;
myscore.innerHTML="<h1><b>Havs Press: "+scores+" Times</b></h1>";
Draw();
document.onkeydown = keyDown
</script>
</body>
</html>
0 0
- HTML5推箱子机理实现
- HTML5推箱子实现
- 第九讲:HTML5中的canvas实现推箱子雏形
- 推箱子游戏实现
- 推箱子小游戏实现
- js实现推箱子游戏
- 推箱子c++实现代码
- c实现 推箱子游戏
- Qt实现推箱子小游戏
- 应用:《推箱子》代码实现
- Java实现推箱子小游戏
- js实现推箱子小游戏
- 用c++实现推箱子
- [html5游戏开发]经典的推箱子
- [html5游戏开发]经典的推箱子
- 微信HTML5小游戏之推箱子
- 推箱子
- 推箱子
- Android应用安全实践 -- 某些Android应用在客户端明文存储登录密码
- Codeforces Round #268 (Div. 2) C
- 2014 ACM/ICPC Asia Regional Guangzhou Online HDU 5024 Wang Xifeng's Little Plot
- CF 268C 24 Game
- C语言中的零长度数组使用说明
- HTML5推箱子机理实现
- 数据结构(C实现)------- 链栈
- OpenSSL RSA 用法
- 谈谈C++类型安全
- AOP技术应用和研究
- hdu 1711(kmp)
- 设计模式-缓存工厂模式代码构造
- Ubuntu上安装gem包时报`require': cannot load such file -- openssl (LoadError)
- spring中遇到的applicationContext.xml (系统找不到指定的文件。)