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
		});
	};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鼎上西瓜刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值