jquery 写的贪吃蛇。。

看csdn各位大大写js游戏早就想练练手也写一个了。

这个贪吃蛇是我的第一个js游戏不对的地方各位大大给指正。

代码写的没什么难的,用Firefox看里面span的属性改变就知道我是怎么做的了。

不多说了,代码贴出来

 

 

里面<script language="javascript" type="text/javascript" src="../scripts/jquery-1[1].2.6.js"></script>

是jquery库,路径需要改下的

 

下载地址:

http://download.csdn.net/source/2463742

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
由于贪吃蛇是一个比较复杂的游戏,需要涉及到许多细节的处理,因此贪吃蛇需要一定的前端开发经验。下面是一个简单的贪吃蛇示例,使用jQuery实现: HTML代码: ```html <!DOCTYPE html> <html> <head> <title>贪吃蛇</title> <meta charset="utf-8"> <style> #game { width: 500px; height: 500px; border: 1px solid #000; position: relative; } .snake { width: 20px; height: 20px; background-color: green; position: absolute; } .food { width: 20px; height: 20px; background-color: red; position: absolute; } </style> </head> <body> <div id="game"></div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script src="snake.js"></script> </body> </html> ``` JavaScript代码: ```javascript $(function() { // 创建游戏区域 var $game = $('#game'); var gameWidth = $game.width(); var gameHeight = $game.height(); // 创建蛇 var snake = [ {x: 3, y: 1}, {x: 2, y: 1}, {x: 1, y: 1} ]; // 创建食物 var food; // 初始化游戏 function init() { // 清空游戏区域 $game.empty(); // 创建蛇 $.each(snake, function(index, value) { var $snake = $('<div>').addClass('snake').css({ left: value.x * 20 + 'px', top: value.y * 20 + 'px' }); $game.append($snake); }); // 创建食物 createFood(); } // 创建食物 function createFood() { var x = Math.floor(Math.random() * (gameWidth / 20)); var y = Math.floor(Math.random() * (gameHeight / 20)); food = {x: x, y: y}; var $food = $('<div>').addClass('food').css({ left: x * 20 + 'px', top: y * 20 + 'px' }); $game.append($food); } // 移动蛇 function move() { var head = snake[0]; var tail = snake.pop(); var newHead; switch(direction) { case 'up': newHead = {x: head.x, y: head.y - 1}; break; case 'down': newHead = {x: head.x, y: head.y + 1}; break; case 'left': newHead = {x: head.x - 1, y: head.y}; break; case 'right': newHead = {x: head.x + 1, y: head.y}; break; } // 判断是否撞墙 if(newHead.x < 0 || newHead.x >= gameWidth / 20 || newHead.y < 0 || newHead.y >= gameHeight / 20) { clearInterval(timer); alert('游戏结束!'); return; } // 判断是否吃到食物 if(newHead.x == food.x && newHead.y == food.y) { snake.unshift(tail); createFood(); } // 判断是否撞到自己 for(var i = 1; i < snake.length; i++) { if(newHead.x == snake[i].x && newHead.y == snake[i].y) { clearInterval(timer); alert('游戏结束!'); return; } } // 添加新头 snake.unshift(newHead); // 更新蛇的位置 $.each(snake, function(index, value) { $('.snake').eq(index).css({ left: value.x * 20 + 'px', top: value.y * 20 + 'px' }); }); } // 监听键盘事件 var direction = 'right'; $(document).on('keydown', function(e) { switch(e.keyCode) { case 37: if(direction != 'right') { direction = 'left'; } break; case 38: if(direction != 'down') { direction = 'up'; } break; case 39: if(direction != 'left') { direction = 'right'; } break; case 40: if(direction != 'up') { direction = 'down'; } break; } }); // 开始游戏 init(); var timer = setInterval(move, 200); }); ``` 以上代码仅供参考,如果需要实现更完整、更复杂的贪吃蛇游戏,还需要根据实际需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值