贪吃蛇 ver 1.0

王朝other·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<title>贪吃蛇 Ver 1.0</title>

<meta name="Generator" content="EditPlus">

<meta name="Author" content="Coke.Yang">

<meta name="Keywords" content>

<meta name="Description" content>

<style>

<!--

.map td { width: 8; height: 8 }

body { font-size: 8pt; font-family: Arial }

-->

</style>

<script language="JavaScript">

<!--

function Snake(){

//Property

this.mapMax = 25;

this.body = new Array();

this.arrow;

this.speed = 5;//1-10

this.Length = 1;

this.Mx=0;

this.My=0;

this.active=0;

//Method

this.createMap = function(){

document.write("<table border=\"1\" cellspacing=\"0\" cellpadding=\"3\" style=\"border-collapse: collapse\" bordercolor=\"#8F8F8F\"><tr><td>");

document.write("<table class=\"map\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\" style=\"border-collapse: collapse\" bordercolor=\"#EFEFEF\">");

for(y=1;y<=this.mapMax;y++){

document.write("<tr>");

for(x=1;x<=this.mapMax;x++){

document.write("<td id=x"+x+"y"+y+" type=\"Map\"></td>");

}

document.write("</tr>");

}

document.write("</table></td></tr></table>");

}

this.createSnake = function(){

this.body[0] = new Array(this.random(),this.random());

this.set(this.body[0][0],this.body[0][1],"Snake");

}

this.createFood = function(){

var food = new Array(this.random(),this.random());

if(this.getType(food[0],food[1])!="Snake"){

this.set(food[0],food[1],"Food");

}else{

this.createFood();

}

}

this.turn = function(Arrow){

if(this.Length>1){

if(Arrow=="L" & this.Arrow!="R") this.Arrow = Arrow;

if(Arrow=="R" & this.Arrow!="L") this.Arrow = Arrow;

if(Arrow=="U" & this.Arrow!="D") this.Arrow = Arrow;

if(Arrow=="D" & this.Arrow!="U") this.Arrow = Arrow;

}else{

this.Arrow = Arrow;

}

switch(this.Arrow){

case "L":this.Mx=-1;this.My=0;break//左

case "R":this.Mx= 1;this.My=0;break//右

case "U":this.Mx=0;this.My=-1;break//上

case "D":this.Mx=0;this.My= 1;break//下

}

this.active=1;

}

this.move = function(){

if(this.active)

{

var x = this.body[0][0]+this.Mx;

var y = this.body[0][1]+this.My;

var moveTo = new Array(x,y);

this.body.unshift(moveTo);

if((this.getType(x,y)=="Snake"&this.Length>1)||this.getType(x,y)=="Null"){

this.die();

}

if(this.getType(x,y)=="Food"){

this.set(moveTo[0],moveTo[1],"Snake");

this.eat();

}

if(this.getType(x,y)=="Map"){

var temp = new Array();

temp = this.body.pop();

this.set(moveTo[0],moveTo[1],"Snake");

this.set(temp[0],temp[1],"Map");

}

var point = "x"+this.body[0][0]+"y"+this.body[0][1];

}

//-----------Debug----------------

var str="";

str="Length: "+this.Length+" Speed: "+this.speed;

document.all.ospan.innerText =str;

//-----------Debug----------------

}

this.eat = function(){

this.Length++;

this.createFood();

}

this.die = function(){

if(this.active){

window.alert("Sorry!你挂了!再来一次");

this.active = 0;

window.location.reload();

}

//this.reset();

}

this.getType = function(x,y){

var point = "x"+x+"y"+y;

if(x<1||x>this.mapMax||y<1||y>this.mapMax) return "Null";

return document.getElementById(point).type;

}

this.set = function(x,y,type){

var point = "x"+x+"y"+y;

if(type == "Snake"){

document.getElementById(point).bgColor="#787878";

}

if(type == "Map"){

document.getElementById(point).bgColor="";

}

if(type == "Food"){

document.getElementById(point).bgColor="#FF0000";

}

document.getElementById(point).type=type;

}

this.reset = function(){

//this.run();

}

this.random = function(){

return parseInt(Math.random()*this.mapMax)+1;

}

this.getSpeed = function(){

var x= parseInt(4-(this.speed/3))*100;

return x;

}

this.run = function(){

this.createMap();

this.createSnake();

this.createFood();

}

}

var iSnake = new Snake();

iSnake.run();

document.onkeydown=KeyDown;

window.setInterval("iSnake.move();",iSnake.getSpeed());

function KeyDown(){

var Key=window.event.keyCode;

switch(Key){

case 37:iSnake.turn("L");break//左

case 39:iSnake.turn("R");break//右

case 38:iSnake.turn("U");break//上

case 40:iSnake.turn("D");break//下

}

return false

}

//-->

</script>

</head>

<body>

<FONT COLOR="#FF0000">·</FONT><span id="ospan"></span>

<font size="6" face="Arial Black">·</font> 蛇

<font size="6" face="Arial Black" color="#FF0000">·</font>食物

</body>

</html>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航