原生javascript制作贪吃蛇小游戏的方法分析
网络编程 2021-07-04 15:02www.168986.cn编程入门
这篇文章主要介绍了原生javascript制作贪吃蛇小游戏的方法,结合具体实例形式分析了JavaScript实现贪吃蛇小游戏的具体步骤、功能实现、数值运算等相关操作技巧,需要的朋友可以参考下
本文实例讲述了原生javascript制作贪吃蛇小游戏的方法。分享给大家供大家参考,具体如下
<!--1、 创建场景 -->
<!-- 2、定义初始数据 以及随机食物 -->
<!-- 3、控制贪吃蛇方向 -->
<!-- 4、判断位置以及和随机食物的位置 增加贪吃蛇长度 -->
HTML部分
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> html,body{ width: 100%; height: 100%; overflow: hidden; } { margin: 0; padding: 0; } li{ width: 20px; height: 20px; border-radius: 50%; background: chocolate; position: absolute; left: 240px; : 60px; z-index: 1; list-style: none; } #box{ position: absolute; left:240px; : 50px; width:800px; height:600px; } </style> </head> <body> <span> 游戏玩法上下左右控制小蛇的方向。 撞到边缘游戏结束。 长按方向键即可加速。 </span> <ul id="box"> <li></li> <li></li> <li></li> </ul> </body>
js开始
function $(id){ return document.getElementById(id); } window.onload = function () { // 创建背景 js_background(); // 随机食物 js_food(); // 创建贪吃蛇 create_snake(); document.onkeydown = function(event){ let evt = event || window.event; switch (evt.keyCode) { case 37:direction="left";break; case 38:direction="up";break; case 39:direction="right";break; case 40:direction="down";break; default:; // console.log(evt.keyCode); } start_snake() } }
//贪吃蛇方向// 创建背景
// 贪吃蛇方向// 创建背景 var direction = "right"; // 创建背景 function js_background(){ let bg = document.createElement("div"); bg.id = "js_bg"; bg.style.cssText = "position:relative;margin :50px auto; background:skyblue; width:800px; height:600px;"; document.body.appendChild(bg); }
//随机食物
var food_left = 0; var food_ = 0; function js_food(){ food_left = parseInt(Math.random()800/20)20; food_ = parseInt(Math.random()600/20)20; let foodDiv = document.createElement("div"); foodDiv.style.cssText = "position:absolute;width:20px; height: 20px; border-radius:50%; background:yellow;"; foodDiv.style.left = food_left+"px"; foodDiv.style. = food_+"px"; foodDiv.id = "foodDiv"; $("js_bg").appendChild(foodDiv); }
//创建贪吃蛇
function create_snake(){ let lis = document.getElementsByTagName("li"); lis[0].style.backgroundColor = "black"; lis[0].style.zIndex = 1; for(let i = 0; i < lis.length; i++){ lis[i].style.left = 280-(i20)+"px"; lis[i].style. = 60+"px"; } }
//定时器
// 定时器 let timre = setInterval(start_snake,200); let lis = document.getElementsByTagName("li"); function start_snake(){ let left=parseFloat(lis[0].style.left); let = parseFloat(lis[0].style.); // console.log() switch (direction) { case "left":left = (left-20);break; case "up": = (-20);break; case "right":left = (left+20);break; case "down": = (+20);break; default:; } if(left<0 || left>800-20 || <0 || >600-20){ window.clearInterval(timre); alert("亲,您Game Over"); return; } // for(let i = 1; i <= lis.length-1; i++){ // lis[i].style.left = lis[i-1].style.left; // lis[i].style. = lis[i-1].style.; // } for(var i=lis.length-1;i>0;i--){ lis[i].style.left = lis[i-1].style.left; lis[i].style. = lis[i-1].style.; } // 改变第一节 lis[0].style.left = left+"px"; lis[0].style. = +"px"; // console.log(food_+"----------"); // console.log(); if(left == food_left && == food_){ eat(); } } function eat() { $("js_bg").removeChild($("foodDiv")); js_food(); // alert("ll"); let li = document.createElement("li"); $("js_bg").appendChild(li); // create_snake(); }
更多关于JavaScript相关内容感兴趣的读者可查看本站专题《》、《》、《》、《》及《》
希望本文所述对大家JavaScript程序设计有所帮助。
编程语言
- 宿迁百度关键词排名指南:实现精准营销的关键
- 四川SEO优化怎么做网络推广
- 立昂技术备案老域名收购:如何为您的业务赋能
- 安徽百度关键词seo贵不贵,一般需要多少钱
- 吉林百度快照排名怎么做电话营销
- 多伦新手做SEO怎么做
- 甘肃优化关键词排名推广怎么做论坛营销
- 沙雅SEO网站推广:提升您的在线可见性
- 四川SEO优化如何提升销售额和销售量
- 聂荣网站排名优化:提升网站可见性的全方位指
- 涞水SEO:提升地方企业在线可见性的策略
- 辽宁百度seo排名怎样做网站排名
- 临湘哪有关键词排名优化:提升网站可见度的关
- 黑龙江百度网站优化有没有优惠
- 凉城优化关键词排名推广:提升您的网络可见性
- 萝北整站优化:提升您网站流量和排名的全面指