js小游戏代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
将以下内容保存为Joken.html双击即可运行
本文档仅供研究学习使用,请慎重操作
var onStart = true;
var allwh = 600;
var snakewh = 20;
var isSnake = true; //用于初始化蛇
var isFood = true; //用于记录是否产生食物
var avoidBack = true; //用于防止回走
var firstDir = ""; //初始方向
var dir = ""; //按键方向
var changW;
var changH;
var snakeArray = new Array; //蛇的ID (内涵坐标)
var foodCount = 0;
var gameOver = false;
var maxScore = 0;
var nowScore =0;
//var speed = 0;
var XXYY = [0,0];
var Time = 400;
function loopbegin(){
//alert("Time = "+Time);
if(onStart){
t = setInterval("begin()",150);
onStart = false;
}}
function begin(){
removeSnakeFood();
initSnake(); //初始化蛇
createFood(); //初始化食物
meetSnakeFood(); //蛇与食物相遇
moveSnake();
checkSnakeOut();
checkSnakeEatSelf();
//getMessage();
}
function getMessage(){
var changS = 2;
var L = snakeArray.length;
if(L<5)
{ changS = 2;}
else if(L<10)
{ changS = 4;}
else if(L<15)
{ changS = 6;}
else if(L<20)
{ changS = 8;}
else
{changS = 10;}
nowScore += changS;
if(maxScore maxScore = nowScore; } if(L<=20) { Time = Time - L; }; if(Time<=80) { Time = 80; } speed = parseInt(1000/Time*10)/10.0; stopSnake(); loopbegin(); NowScore.innerHTML="当前得分:"+nowScore; MaxScore.innerHTML="最高分:"+maxScore; Spend.innerHTML="当前速度每秒走"+speed+" 格";} function removeSnakeFood(){ if(gameOver){ isSnake = true; //用于初始化蛇 isFood = true; //清除食物 var all = document.getElementById("all"); for(var i=0; i<=foodCount; i++){ var food = document.getElementById("food"+i); all.removeChild(food);} snakeArray.length = 0; gameOver = false; foodCount = 0; //Time = 500; //nowScore = 0;}} function initSnake(){ if(isSnake){ var snakeT = document.getElementById('snakeT'); var snakeT_x = parseInt(Math.random()*(allwh/snakewh-8)+4)*snakewh; var snakeT_y = parseInt(Math.random()*(allwh/snakewh-8)+4)*snakewh; snakeT.style.left = snakeT_x+"px"; snakeT.style.top = snakeT_y+"px"; snakeT.style.backgroundColor="#000000"; snakeT.style.borderColor = "#000000"; snakeArray.push(snakeT); //蛇头进站var keyCode =parseInt(Math.random()*4)+37; if(keyCode==37){ firstDir="left"; changW = -snakewh; changH = 0; } else if(keyCode==38){ firstDir="top"; changW = 0; changH = -snakewh; } else if(keyCode==39){ firstDir="right"; changW = snakewh; changH = 0; } else if(keyCode==40){ firstDir="bottom"; changW = 0; changH = snakewh; } isSnake = false; }} function createFood(){ var all = document.getElementById("all"); var food_x; var food_y; if(isFood){ var food = document.createElement("div"); var strW = []; var strH = []; for(var i=0; i var snakeNode_x = snakeArray[i].style.left; var snakeNode_y = snakeArray[i].style.top; snakeNode_x = snakeNode_x.substring(0,snakeNode_x.indexOf("px")); snakeNode_y = snakeNode_y.substring(0,snakeNode_y.indexOf("px")); strW[i] = snakeNode_x; strH[i] = snakeNode_y; } var flag; do{ flag = false; food_x = parseInt(Math.random()*(allwh/snakewh-0)+0)*snakewh; food_y = parseInt(Math.random()*(allwh/snakewh-0)+0)*snakewh; for(var i=0; i if(food_x==strW[i]&&food_y==strH[i]){ flag = true; break;