html 贪吃蛇代码
导读:贪吃蛇是一个经典的游戏,这篇文章将介绍如何使用HTML来编写它的代码。<!DOCTYPE html><html><head><title>贪吃蛇游戏</title><styl...
贪吃蛇是一个经典的游戏,这篇文章将介绍如何使用HTML来编写它的代码。
!DOCTYPE html> html> head> title> 贪吃蛇游戏/title> style> /* 设置画布大小 */canvas { width: 600px; height: 400px; } /style> /head> body> canvas id="snake-board"> /canvas> script> // 获取画布对象var canvas = document.getElementById("snake-board"); var ctx = canvas.getContext("2d"); // 设置初始变量var snake = [{ x:10, y:10} , { x:9, y:10} , { x:8, y:10} ]; var direction = "right"; var food = generateFood(); // 循环绘制蛇和食物setInterval(function() { draw(); move(); } , 100); // 绘制蛇和食物function draw() { // 清除画布ctx.clearRect(0, 0, canvas.width, canvas.height); // 绘制食物ctx.fillStyle = "red"; ctx.fillRect(food.x*20, food.y*20, 20, 20); // 绘制蛇ctx.fillStyle = "green"; for (var i=0; isnake.length; i++) { ctx.fillRect(snake[i].x*20, snake[i].y*20, 20, 20); } } // 移动蛇function move() { // 头部移动var head = { x:snake[0].x, y:snake[0].y} ; switch(direction) { case "up": head.y -= 1; break; case "down": head.y += 1; break; case "left": head.x -= 1; break; case "right": head.x += 1; break; } // 判断是否吃到食物if (head.x == food.x & & head.y == food.y) { snake.unshift(head); food = generateFood(); } else { // 删除尾部snake.pop(); // 添加头部snake.unshift(head); } } // 随机生成食物function generateFood() { var x = Math.floor(Math.random()*30); var y = Math.floor(Math.random()*20); return { x:x, y:y} ; } // 监听键盘事件document.addEventListener("keydown", function(event) { switch(event.keyCode) { case 37: direction = "left"; break; case 38: direction = "up"; break; case 39: direction = "right"; break; case 40: direction = "down"; break; } } ); /script> /body> /html>
以上代码使用HTML来设置画布大小、绘制蛇和食物、监听键盘事件等。通过JavaScript来控制贪吃蛇的移动,实现了一个简单的贪吃蛇游戏。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: html 贪吃蛇代码
本文地址: https://pptw.com/jishu/301262.html