1. 程式人生 > >js程式設計--貪吃蛇遊戲04

js程式設計--貪吃蛇遊戲04

Test工程的基礎上修改

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>我的貪吃蛇test</title>
		<script type="text/javascript" src="jquery-3.3.1.min.js" ></script>
		<script type="text/javascript" src="snake.js" ></script
>
<link rel="stylesheet" href="index.css" /> </head> <body> </body> </html>

snake.js

$(document).ready(function(){

	
	var mapDiv=new Mapdiv();
	var snake=new Snake();
	var food=new Food();
	
	snake.show();
	
	
	$(document).keydown(function(e){
		var code=
e.keyCode; snake.run(code,food); }); }); //地圖 var Mapdiv=function(){ var div=$("<div></div>"); div.appendTo("body"); div.css( { "width": "800px", "height": "500px", "background-color":"darkgrey", "position": "absolute" }); div.attr("id","map_div"); }
; //蛇 var Snake=function(){ var div=$("<div></div>"); div.appendTo("#map_div"); this.x=0; this.y=0; var stup=50; this.show=function(){ this.x=0; this.y=0; div.css( { "width": "50px", "height": "50px", "background-color":"red", "position": "absolute", "margin-left":0, "margin-top":0 }); }; this.run=function(code,food){ switch(code){ case 37://this.x--; if(this.x<0){ alert("碰壁了!!!"); this.show(); } else{ if(food.x==this.x&&food.y==this.y){ alert("吃食物!!"); }else{ div.css({"margin-left":this.x*stup}); } } break; case 39://this.x++; if(this.x>15){ alert("碰壁了!!!"); this.show(); } else{ if(food.x==this.x&&food.y==this.y){ alert("吃食物!!"); }else{ div.css({"margin-left":this.x*stup}); } } break; case 38://this.y--; if(this.y<0){ alert("碰壁了!!!"); this.show(); } else{ if(food.y==this.y&&food.x==this.x){ alert("吃食物!!"); }else{ div.css({"margin-top":this.y*stup}); } } break; case 40://this.y++; if(this.y>9){ alert("碰壁了!!!"); this.show(); } else{ if(food.y==this.y&&food.x==this.x){ alert("吃食物!!"); }else{ div.css({"margin-top":this.y*stup}); } } break; } } }; //食物 var Food=function(){ var div=$("<div></div>"); div.appendTo("#map_div"); this.x=parseInt(Math.random()*16); this.y=parseInt(Math.random()*10); div.css( { "width": "50px", "height": "50px", "background-color":"yellow", "position": "absolute", "margin-left":this.x*50, "margin-top":this.y*50 }); };