javascript 蛇小游戏代码

javascript 蛇小游戏代码
<style>
.Food{background-color:red}
.Snake{background-color:blue}
</style>

<script>
var Rows=20
var Cells=30
var Num=15
var BorderWidth=5
var SpeedUp=5000

//创建地图
function CreateMap(){
BW=eval(Cells*Num+2*BorderWidth)
BH=eval(Rows*Num+2*BorderWidth)
document.body.innerHTML='<div id=MainMap style=position:absolute;left:'+20+';top:'+20+';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)
Sy=parseInt(Math.random()*Rows)
CreateSnake()
CreatFood()
AllDiv=MainMap.all.tags('DIV')
AllSpan=MainMap.all.tags('SPAN')
}

 

//创建食物的位置
function CreatFood(){
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 CreatFood()
}

 

//创建蛇的位置
function CreateSnake(){
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 Move(){
Sx+=GoX
Sy+=GoY
if(Sy<0||Sy>=Rows)Move1()
else{
 SnakeFront=Map[Sy][Sx]
 if(SnakeFront=='0')Move2()
 else{
  if(SnakeFront=='F')Move3()
  else Move1()
  }
 }
}

 

//重新开始
function Move1(){
ReStart=confirm("Game Over,重新开始?")
if(ReStart)window.location.reload()
}

var Times=200

//蛇前是空地时

function Move2(){
Map[AllDiv[0].y][AllDiv[0].x]='0'
AllDiv[0].removeNode(true)
CreateSnake()
setTimeout('Move()',Times)
}

//蛇前面是食物时

function Move3(){
CreateSnake()
AllSpan[0].removeNode(true)
CreatFood()
setTimeout('Move()',Times)
}

 

//蛇越行越快
function oTimes(){
Times-=5
if(Times>5)setTimeout('oTimes()',SpeedUp)
}

 

 

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
}

var Star=0

function Dir(x,y){
GoX=x
GoY=y
if(Star==0){
 oTimes()
 Star=1
 Move()
 }
}

 

//开始时运行
onload=CreateMap
</script>

时间: 2024-09-04 05:22:12

javascript 蛇小游戏代码的相关文章

java编写贪吃蛇小游戏_java

废话不多说,直接奉上代码: Frame.java package snake; import java.awt.Graphics; import java.awt.Menu; import java.awt.MenuBar; import java.awt.MenuItem; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import

纯js和css完成贪吃蛇小游戏demo_javascript技巧

本文实例为大家分享了js贪吃蛇小游戏demo,纯js和css完成,供大家参考,具体内容如下 <!doctype html> <html> <meta charset="utf-8"> <head> <style> *{ margin: 0; padding:0; } .content{ position: absolute; width: 500px; height: 500px; background-color: #212

javascrpt加html实现的贪吃蛇小游戏

javascrpt有效代码17行 加上html代码的话,共25行 运行方法chrome或者 firefox 测试连接 http://lufylegend.com/html5/lufylegend/tcs.html 完整代 码如下 <!DOCTYPE html> <html> <body> <canvas id="myCanvas" width="240" height="240" style="

php实现贪吃蛇小游戏_php实例

贪吃蛇游戏是经典手机游戏,既简单又耐玩.通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分.在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用php来实现贪吃蛇小游戏 废话不多说,代码奉上: control.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body>  <a href="control.php

c++-qt做的贪吃蛇小游戏,构建的时候有问题,运行不了

问题描述 qt做的贪吃蛇小游戏,构建的时候有问题,运行不了 包含界面文件源文件头文件,可是在运行的时候构建不成功,说只完成了2之中的1个步骤. 15:02:08: 为项目scoff_snake执行步骤 ... 15:02:08: 正在启动 "D:qt4.8.4binqmake.exe" D:qtpujing新建文件夹scoff_snake.pro -r -spec win32-g++ Cannot find file: d:qtpujing新建文件夹scoff_snake.pro. 1

php实现贪吃蛇小游戏

贪吃蛇游戏是经典手机游戏,既简单又耐玩.通过控制蛇头方向吃蛋,使得蛇变长,从而获得积分.在诺基亚时代,风靡整个手机界,今天我们来看看另类的,如何使用php来实现贪吃蛇小游戏 废话不多说,代码奉上: control.php <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> </head> <body>  <a href="control.php

c++-怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来.

问题描述 怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来. 怎样把一段C++代码(小游戏代码)跟Xtinon pro 联系起来,想弄一个小游戏,也是一份暑假作业来的...大神们,求救,谢谢! 解决方案 Xtinon pro应该是Xtion PRO吧,一个体感应用. 1.下载部署Xtion PRO SDK:2.游戏代码中调用Xtion PRO API,读取体感设备的输入控制游戏进程. 解决方案二: 用vs2010..配置了openNI和opencv能用么

接苹果游戏-请教接苹果小游戏代码怎么编?(Java)

问题描述 请教接苹果小游戏代码怎么编?(Java) 我编写的是用篮子接小球,在一个面板里既可以控制篮子左右移动,又不妨碍小球随机掉落,小球可以用Timer动画隔一段时间就repaint,篮子通过按钮左右移动之后也要repaint,他们都是通过一个paintComponent画出来的,但是这样一来,小球本来在时间间隔里,但是每次一移动篮子,小球又要重画,这样造成小球移动得时快时慢,这样怎么办??? 下面是我的Java代码: public class FinalProject extends JFr

java-新人,求助:Java小游戏代码改成安卓代码

问题描述 新人,求助:Java小游戏代码改成安卓代码 英雄难过棍子关的安卓代码 自己也是下载的源代码,想参考它写成安卓代码,但是一直没成功,求助. 解决方案 他们两者就是画图机制不一样,java paint Android canvas 解决方案二: http://download.csdn.net/download/u011040361/8310321