snake小游戏代码
来源:互联网 发布:淘宝网 长虹电视 编辑:程序博客网 时间:2024/05/04 09:18
<style type="text/css">
.food{background-color:#0000ff;}
.snake{background-color:ff0000;}
</style>
<script language="javascript">
<!--
var Rows=20; // 设置行
var Cells=20; // 设置列
var Num=15; // 地图的大小
var BorderWidth=5; // 地图的边框
var Speed=5000; // 设置蛇的速度
var timeobj=100; // 设置延迟时间
var stat=0;
function CMap(){ // 创建地图
var BW=eval(Cells*Num+2*BorderWidth); // 设置列的边框宽度
var BH=eval(Rows*Num+2*BorderWidth); // 设置行的边框宽度
document.body.innerHTML='<div id=MainMap style=position:absolute;left:'+(document.body.clientWidth-BW)/2+';top:'+(document.body.clientHeight-BH)/2+';width:'+BW+';height:'+BH+';border-width:'+BorderWidth+';border-style:inset;border-color:#0000cc></div>';
Map=new Array(); // 设置地图数组
for(y=0;y<Rows;y++){
Map[y]=new Array();
for(x=0;x<Cells;x++){
Map[y][x]='0';
}
}
Sx=parseInt(Math.random()*Cells); // 设置蛇的X轴位置
Sy=parseInt(Math.random()*Rows); // 设置蛇的Y轴位置
cSnake();
createFood();
AllDiv=MainMap.all.tags('DIV');
AllSpan=MainMap.all.tags('SPAN');
}
function cSnake(){ // 创建蛇
MainMap.innerHTML+='<div x='+Sx+' y='+Sy+' style=position:absolute;left:'+Sx*Num+';top:'+Sy*Num+';width:'+Num+';height:'+Num+';overflow:hidden class=Snake></div>'
Map[Sy][Sx]='S'
}
function createFood(){ // 创建食物
Fx=parseInt(Math.random()*Cells); // 设置食物的位置
Fy=parseInt(Math.random()*Rows); // 设置食物的位置
if(Map[Fy][Fx]=='0'){
MainMap.innerHTML+='<span style=position:absolute;left:'+Fx*Num+';top:'+Fy*Num+';width:'+Num+';height:'+Num+';overflow:hidden class=Food></span>';
Map[Fy][Fx]='F';
}
else createFood(); // 创建食物
}
function Move() // 设置移动
{
Sx+=GoX;
Sy+=GoY;
if((Sy<0||Sy>=Rows)||(Sx<0||Sx>=Cells))
{restartGame();} // 判断蛇头前面撞到边界后重新开始游戏
else
{
if(Map[Sy][Sx]=="F") MoveEateFood();
else MoveNoFood();
}
}
function restartGame() // 重新开始游戏
{
var msg=confirm("游戏失败!确定重新开始吗?");
if(msg) window.location.reload();
}
function MoveNoFood() // 前面是空白地方
{
Map[AllDiv[0].y][AllDiv[0].x]='0';
AllDiv[0].removeNode(true);
cSnake();
setTimeout('Move();',timeobj);
}
function MoveEateFood() // 前面是食物
{ cSnake();
AllSpan[0].removeNode(true);
createFood();
setTimeout('Move();',timeobj);
}
document.onkeydown=KeyDown;
function KeyDown(){ // 操作键盘
Key=event.keyCode
switch(Key){
case 37:Dir(-1,0);break // 向左移动
case 39:Dir(1,0);break // 向右移动
case 38:Dir(0,-1);break // 向上移动
case 40:Dir(0,1);break} // 向下移动
return false
}
function Dir(x,y) // 方向控制
{
GoX=x;
GoY=y;
if(stat==0)
{
stat=1;
Move();
}
}
onload=CMap;
//-->
</script>
- snake小游戏代码
- 简单的snake小游戏
- 开源小游戏-基于android sample snake
- snake代码解析
- [转]-Snake模型&&openCV代码
- 小游戏代码
- Snake
- snake
- snake
- Snake
- snake
- Snake
- snake
- HTML5 贪吃蛇 Snake Game代码
- 一些小游戏的代码
- 弹球小游戏C代码
- JavaScript_小游戏代码
- python小游戏实现代码
- powerbuilder中外部数据源的freeform类型的dw在detail中不显示内容的问题
- 查找水军王(问题分析)状态机
- 基于本体的关系数据库语义检索
- unity3d 重要类+方法 。。。再来一遍吧。。。
- Java之美[从菜鸟到高手演变]之设计模式三
- snake小游戏代码
- MySql could not start the service
- Android 关于长按back键退出应用程序的实现
- 接oracle发关邮件错误
- IntelliSense: #error 指令: Please use the /MD switch for _AFXDLL builds
- 类与结构的示例比较
- 在ubuntu下把dash换成bash
- linux播放csf文件
- sprintf函数的用法