js编程--贪吃蛇游戏02

这一节主要根据第一节进行升级,修改内容如下:

  1. 添加撞墙提示
  2. 添加食物

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>我的贪吃蛇02</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>
		<div id="map">
			<div id="snake_div">
				
			</div>
			
			<div class="food_div"></div>
		</div>
	</body>
</html>

index.css

body {
            margin: 0;
            padding: 0;
        }

		#map{
			width: 800px;
			height: 500px;
			margin: 10% auto;
			background-color:darkgrey ;
			position: relative;
		}
		#snake_div{
			width: 50px;
			height: 50px;
			background-color:red ;
			position: absolute;
			
		}
		.food_div{
			width: 50px;
			height: 50px;
			margin: 100px 100px;
			background-color:yellow ;
			position: absolute;
			
		}

snake.js

$(document).ready(function(){
	var s_div=$("#snake_div");
	var f_div=$(".food_div");
	var s_h=parseInt(s_div.css("height"));
	var s_w=parseInt(s_div.css("width"));

	$(document).keydown(function(e){
		var left=parseInt(s_div.css("margin-left"));
		var top=parseInt(s_div.css("margin-top"));
		var code=e.keyCode;
		var move_num=50;
		s_div.text("x:"+left+",y:"+top);
		
		var f_x=parseInt(f_div.css("margin-left"));
		var f_y=parseInt(f_div.css("margin-top"));
		
		if(f_x==(left+s_h)&&f_y==top){
			alert("吃到食物了!!!!!");
		}
			
		
		switch(code){
			case 37://if(left<1){
					alert("撞墙了!!!!!");
					s_div.css({"margin-left":0,"margin-top":0});
				}else{
					s_div.css({"margin-left":left-move_num});
														
					
				}
				
			break;
			case 39://if(left+s_w>799){
					alert("撞墙了!!!!!");
					s_div.css({"margin-left":0,"margin-top":0});
				}else{
					s_div.css({"margin-left":left+move_num});
				}				
			break;
			case 38://if(top<1){
						alert("撞墙了!!!!!");
						s_div.css({"margin-left":0,"margin-top":0});
					}else{
						s_div.css({"margin-top":top-move_num});
					}
			break;
			case 40://if(top+s_h>499){
						alert("撞墙了!!!!!");
						s_div.css({"margin-left":0,"margin-top":0});
					}else{
						s_div.css({"margin-top":top+move_num});
					}
				
			break;
		}   
  });
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

鼎上西瓜刀

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

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

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

打赏作者

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

抵扣说明:

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

余额充值