已下为 JS 部分代码 ,编写时间较短用了8个小时写的,还有部分 BUG 未解决,娱乐为辅,散分为主。
以下为网络地址:
http://www.needsee.com/game/html.html
- JScript code
<script type="text/javascript" language="javascript">//--------------------------------//----制作者: ║LZ↗雨辰║//--制作时间: 2010年5月21日//--制作用时: 8小时//--------QQ: *********//-------------------------------- var key=39; //键值 39右键 37左键 38上建 下键40var trailId=''; //记录头部IDvar tailId=''; //记录尾部IDvar tailArray = new Array(); //ID 拆分的数组var randomL=20; //随机数 左IDvar randomR=30; //随机数 右IDvar foodCount=5; //食物数量var count=0; //食物累计var times=200; //行进速度var timeSpace=10; //速度递增值 注意:值必须大于等于1 function $(id){ return document.getElementById(id);} function run(){ //程序入口 d(); //程序主体 r(); $('txtTime').value = times; //行进速度显示} function r(){ //食物随机函数 var randomID = ''; randomL = Math.floor(Math.random()*52+1); randomR = Math.floor(Math.random()*48+1); if(count < foodCount){ randomID = randomL + '_' + randomR; if($(randomID).style.background == 'white' && $(randomID).title == ''){ $(randomID).style.background = 'black'; $(randomID).title = '0'; count++; } }} function d(){ var left=0; var right=0; var up=0; var down=0; var oId=''; tailArray = tailId.split('_'); //0 为左边(-1 上 +1 下) 1 为右边(-1 左 +1 右)尾部ID拆分 //alert(tailId); //------------------------------到此尾部开始 left = Number(tailArray[1]) - 1; if(left >= 1){ //左边预算 var id = tailArray[0] + '_' + left; if($(id).style.background != 'white' && $(id).title == ''){//0 食物 oId = id; } } right = Number(tailArray[1]) + 1; if(right <= 50){ //右边预算 var id = tailArray[0] + '_' + right; if($(id).style.background != 'white' && $(id).title == ''){//0 食物 oId = id; } } up = Number(tailArray[0]) - 1; if(up >= 1){ //上边预算 var id = up + '_' + tailArray[1]; if($(id).style.background != 'white' && $(id).title == ''){//0 食物 oId = id; } } down = Number(tailArray[0]) + 1; if(down <= 55){ //下边预算 var id = down + '_' + tailArray[1]; if($(id).style.background != 'white' && $(id).title == ''){//0 食物 oId = id; } } //alert(tailId); $(tailId).style.background='white';//将先前尾部变色 tailId = oId;//记录预算尾部ID //------------------------------到此尾部结束 //------------------------------到此头部开始 tailArray = trailId.split('_'); //0 为左边(-1 上 +1 下) 1 为右边(-1 左 +1 右)头部ID拆分 if(key == 37){//左 left = Number(tailArray[1]) - 1; if(left >= 1){ //左边预算 var id = tailArray[0] + '_' + left; if($(id).style.background == 'white' && $(id).title == ''){//0 食物 $(id).style.background = 'black'; $(id).title = ''; trailId = id; }else if($(id).style.background == 'black' && $(id).title == '0'){ var ids = tailArray[0] + '_' + (left-1); $(id).style.background = 'black'; $(id).title = ''; $(ids).style.background = 'black'; $(ids).title = ''; trailId = ids; count--; //times -= timeSpace; times = times > timeSpace ? times - timeSpace : timeSpace; }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else if(key == 38){//上 up = Number(tailArray[0]) - 1; if(up >= 1){ //上边预算 var id = up + '_' + tailArray[1]; if($(id).style.background == 'white' && $(id).title == ''){//0 食物 $(id).style.background = 'black'; $(id).title = ''; trailId = id; }else if($(id).style.background == 'black' && $(id).title == '0'){ var ids = (up-1) + '_' + tailArray[1]; $(id).style.background = 'black'; $(id).title = ''; $(ids).style.background = 'black'; $(ids).title = ''; trailId = ids; count--; //times -= timeSpace; times = times > timeSpace ? times - timeSpace : timeSpace; }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else if(key == 39){//右 right = Number(tailArray[1]) + 1; if(right <= 50){ //右边预算 var id = tailArray[0] + '_' + right; if($(id).style.background == 'white' && $(id).title == ''){//0 食物 $(id).style.background = 'black'; $(id).title = ''; trailId = id; }else if($(id).style.background == 'black' && $(id).title == '0'){ var ids = tailArray[0] + '_' + (right+1); $(id).style.background = 'black'; $(id).title = ''; $(ids).style.background = 'black'; $(ids).title = ''; trailId = ids; count--; //times -= timeSpace; times = times > timeSpace ? times - timeSpace : timeSpace; }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else if(key == 40){//下 down = Number(tailArray[0]) + 1; if(down <= 55){ //下边预算 var id = down + '_' + tailArray[1]; if($(id).style.background == 'white' && $(id).title == ''){//0 食物 $(id).style.background = 'black'; $(id).title = ''; trailId = id; }else if($(id).style.background == 'black' && $(id).title == '0'){ var ids = (down+1) + '_' + tailArray[1]; $(id).style.background = 'black'; $(id).title = ''; $(ids).style.background = 'black'; $(ids).title = ''; trailId = ids; count--; //times -= timeSpace; times = times > timeSpace ? times - timeSpace : timeSpace; }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } }else{ $('butNewStart').style.display = 'block'; alert('Game Over !'); times = 600000; } } //------------------------------到此头部结束 setTimeout('run()',times);} //开始 初始位置function Start(id1,id2,id3){ trailId=id3; tailId=id1; times=200; key=39; count=0; $(id1).style.background='black'; $(id2).style.background='black'; $(id3).style.background='black'; $('txtTime').value = times; $('butStart').disabled = 'false'; run();} //重新开始function newStart(){ $('butNewStart').style.display = 'none'; for(var i=1 ; i<=55 ; i++){ for(var j=1 ; j<=50 ; j++){ $(i+'_'+j).style.background='white'; $(i+'_'+j).title = ''; } } Start('1_1','1_2','1_3');} function jumpPage(){ if(event.keyCode == 37){//左 if(key != 39){ key=37; } } if(event.keyCode == 38){//上 if(key != 40){ key=38; } } if(event.keyCode == 39){//右 if(key != 37){ key=39; } } if(event.keyCode == 40){//下 if(key != 38){ key=40; } }}document.onkeydown=jumpPage;</script>