当前位置: 首页 > news >正文

网站开发技术主题西宁网站seo

网站开发技术主题,西宁网站seo,赣州睿行网络科技有限公司,哪些网站可以做免费广告推广web前端项目-贪吃蛇小游戏 【贪吃蛇】是一款经典的小游戏,采用HTML、CSS和JavaScript技术进行开发,玩家通过控制一条蛇在地图上移动,蛇的目的是吃掉地图上的食物,并且让自己变得更长。游戏的核心玩法是控制蛇的移动方向和长度&am…

web前端项目-贪吃蛇小游戏

【贪吃蛇】是一款经典的小游戏,采用HTMLCSSJavaScript技术进行开发,玩家通过控制一条蛇在地图上移动,蛇的目的是吃掉地图上的食物,并且让自己变得更长。游戏的核心玩法是控制蛇的移动方向和长度,同时避免蛇头碰到自己的身体或者游戏边界

运行效果:上下左右键控制蛇的移动;空格为游戏开始/暂停;可以在游戏界面设置蛇的移动速度
在这里插入图片描述
在这里插入图片描述

HTML源码–index.html

<!DOCTYPE html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>贪吃蛇小游戏</title>
<link rel="stylesheet" href="css/snake.css">
<script type="text/javascript" src="js/snake.js"></script>
</head><body>
<div class="box"><span>分数:<span id="foodNum"></span></span><span>选择速度:<select id="setSpeed"><option value="200">慢速</option><option value="100">中速</option><option value="50">快速</option></select></span><span>开始/暂停(空格键)</span>
</div>
<table id="map"></table>
</body>
</html>

js源码–snake.js

function Snake(){this.rows = 21;//21行this.cols = 21;//21列this.speed = 200;//前进速度this.curKey = 0;//当前方向按键键码值this.timer = 0;this.pos = [];//蛇身位置this.foodPos = {"x":-1,"y":-1};this.foodNum = 0;//吃掉食物数量this.dom = document.getElementById("map");//地图元素this.pause = 1;//1表示暂停,-1表示开始
}
Snake.prototype.map = function(){//创建地图if(this.dom.firstChild){this.dom.removeChild(this.dom.firstChild);//重新开始 删除之前创建的tbody}for( j = 0; j < this.rows; j++ ){var tr = this.dom.insertRow(-1);//插入一行for( i = 0; i < this.cols; i++ ){tr.insertCell(-1);//插入一列}}
}
Snake.prototype.food = function(){//生成食物do{this.foodPos.y = Math.floor( Math.random()*this.rows );this.foodPos.x = Math.floor( Math.random()*this.cols );}while( this.dom.rows[this.foodPos.y].cells[this.foodPos.x].className != "" )//防止食物生成在蛇身上this.dom.rows[this.foodPos.y].cells[this.foodPos.x].className="snakefood";//设置食物样式document.getElementById("foodNum").innerHTML=this.foodNum++;//设置分数
}
Snake.prototype.init = function(){this.map();//创建地图arguments[0] ? this.speed=arguments[0] : false;//选择速度this.pos = [{"x":2,"y":0},{"x":1,"y":0},{"x":0,"y":0}];//定义蛇身位置for(var j=0; j<this.pos.length; j++ ){//显示蛇身this.dom.rows[this.pos[j].y].cells[this.pos[j].x].className="snakebody";}this.dom.rows[this.pos[0].y].cells[this.pos[0].x].className="snakehead";//为蛇头设置样式this.curKey = 0;//当前方向按键键码值this.foodNum = 0;//吃掉食物数量this.food();//生成食物this.pause = 1;//1表示暂停,-1表示开始
}
Snake.prototype.trigger = function(e){var _t=this;var e = e || event;var eKey = e.keyCode;//获取按键键码值if( eKey>=37 && eKey<=40 && eKey!=this.curKey && !( (this.curKey == 37 && eKey == 39) || (this.curKey == 38 && eKey == 40) || (this.curKey == 39 && eKey == 37) || (this.curKey == 40 && eKey == 38) ) && this.pause==-1 ){//如果按下的是方向键,并且不是当前方向,也不是反方向和暂停状态this.curKey = eKey;        //设置当前方向按键键码值        }else if( eKey==32 ){this.curKey = (this.curKey==0) ? 39 : this.curKey;this.pause*=-1;if(this.pause==-1){this.timer=window.setInterval(function(){_t.move()},this.speed);//蛇身移动}else{window.clearInterval(this.timer);//停止}}
}
Snake.prototype.move = function(){//移动switch(this.curKey){case 37: //左方向if( this.pos[0].x <= 0 ){ //蛇头撞到边界this.over(); return; }else{ this.pos.unshift( {"x":this.pos[0].x-1,"y":this.pos[0].y}); //添加元素}break;case 38: //上方向if( this.pos[0].y <= 0 ){ this.over(); return; }else{ this.pos.unshift( {"x":this.pos[0].x,"y":this.pos[0].y-1}); }break;case 39://右方向if( this.pos[0].x >= this.cols-1 ){ this.over(); return; }else{ this.pos.unshift( {"x":this.pos[0].x+1,"y":this.pos[0].y}); }break;case 40: //下方向if( this.pos[0].y >= this.rows-1 ){ this.over(); return; }else{ this.pos.unshift( {"x":this.pos[0].x,"y":this.pos[0].y+1}); }break;}if( this.pos[0].x == this.foodPos.x && this.pos[0].y == this.foodPos.y ){//蛇头位置与食物重叠this.food();//生成食物}else if( this.curKey != 0 ){this.dom.rows[this.pos[this.pos.length-1].y].cells[this.pos[this.pos.length-1].x].className="";this.pos.pop();//删除蛇尾}for(i=3;i<this.pos.length;i++){//从蛇身的第四节开始判断是否撞到自己if( this.pos[i].x == this.pos[0].x && this.pos[i].y == this.pos[0].y ){ this.over();//游戏结束return;}}this.dom.rows[this.pos[0].y].cells[this.pos[0].x].className="snakehead";//画新蛇头this.dom.rows[this.pos[1].y].cells[this.pos[1].x].className="snakebody";//原蛇头变为蛇身
}
Snake.prototype.over = function(){alert("游戏结束");window.clearInterval(this.timer);//停止this.init();//重置游戏
}
window.onload = function(){var snake = new Snake();//创建对象实例snake.init();//调用初始化方法document.onkeydown = function(e){ snake.trigger(e); //按下按键时调用方法}document.getElementById("setSpeed").onchange = function(){ this.blur(); snake.init(this.value); }
}

CSS源码–snake.css

  *                         { margin:0; padding:0; font-family:Verdana,宋体; font-size:12px;}table#map { width:auto; height:auto; margin:0 auto; border-collapse:collapse; border-spacing:0; background-color:#EAEAEA; clear:both; background:#74AFE0}td                 { width:10px; height:10px; border:1px solid black;}.snakehead         { background-color: orangered;}.snakebody         { background-color:#FFCC00;}.snakefood         { background-color: orangered;}.box        { width:310px; margin:0 auto; padding:3em 0; list-style:none;}.box>span{ float:left; height:30px; margin-right:1.5em; line-height:30px;}

注: 以上为本项目的所有源码,无图片素材


文章转载自:
http://blastproof.mkbc.cn
http://fairily.mkbc.cn
http://qms.mkbc.cn
http://wallboard.mkbc.cn
http://entoilment.mkbc.cn
http://ecotone.mkbc.cn
http://nonalcoholic.mkbc.cn
http://nuyorican.mkbc.cn
http://anetic.mkbc.cn
http://pungle.mkbc.cn
http://listless.mkbc.cn
http://excellent.mkbc.cn
http://enlargement.mkbc.cn
http://xystarch.mkbc.cn
http://kharkov.mkbc.cn
http://doomful.mkbc.cn
http://crayfish.mkbc.cn
http://trisomy.mkbc.cn
http://gismo.mkbc.cn
http://pediculate.mkbc.cn
http://terni.mkbc.cn
http://superhuman.mkbc.cn
http://autocephaly.mkbc.cn
http://hyperlipidemia.mkbc.cn
http://anglican.mkbc.cn
http://belial.mkbc.cn
http://disaccharose.mkbc.cn
http://infatuated.mkbc.cn
http://unreadable.mkbc.cn
http://cumulate.mkbc.cn
http://nonenforceable.mkbc.cn
http://decrier.mkbc.cn
http://astromancy.mkbc.cn
http://mythologise.mkbc.cn
http://claustrophobic.mkbc.cn
http://monkeyish.mkbc.cn
http://yellowlegs.mkbc.cn
http://yellows.mkbc.cn
http://kleagle.mkbc.cn
http://misteach.mkbc.cn
http://ski.mkbc.cn
http://busiest.mkbc.cn
http://pneumatism.mkbc.cn
http://insecurity.mkbc.cn
http://lubber.mkbc.cn
http://amazedly.mkbc.cn
http://planograph.mkbc.cn
http://rationalize.mkbc.cn
http://canalisation.mkbc.cn
http://isthmectomy.mkbc.cn
http://tanniferous.mkbc.cn
http://ineptitude.mkbc.cn
http://hexachlorophene.mkbc.cn
http://overspend.mkbc.cn
http://median.mkbc.cn
http://dragonhead.mkbc.cn
http://butterfly.mkbc.cn
http://photoisomerize.mkbc.cn
http://preindicate.mkbc.cn
http://streetwalking.mkbc.cn
http://bushmanship.mkbc.cn
http://bonne.mkbc.cn
http://nudie.mkbc.cn
http://kanone.mkbc.cn
http://periwinkle.mkbc.cn
http://anastomosis.mkbc.cn
http://exergue.mkbc.cn
http://vectors.mkbc.cn
http://undisciplined.mkbc.cn
http://bondsman.mkbc.cn
http://accelerator.mkbc.cn
http://bushel.mkbc.cn
http://tom.mkbc.cn
http://mischievously.mkbc.cn
http://levantine.mkbc.cn
http://gravid.mkbc.cn
http://kismet.mkbc.cn
http://gooral.mkbc.cn
http://precollege.mkbc.cn
http://senesce.mkbc.cn
http://inspan.mkbc.cn
http://culdotomy.mkbc.cn
http://disconsolate.mkbc.cn
http://superdominant.mkbc.cn
http://hydrosere.mkbc.cn
http://engorge.mkbc.cn
http://nutter.mkbc.cn
http://hybridisable.mkbc.cn
http://seymour.mkbc.cn
http://boccie.mkbc.cn
http://fescennine.mkbc.cn
http://exquisite.mkbc.cn
http://mean.mkbc.cn
http://physically.mkbc.cn
http://prevarication.mkbc.cn
http://fiberfaced.mkbc.cn
http://unappeasable.mkbc.cn
http://entomophily.mkbc.cn
http://greenbrier.mkbc.cn
http://xpvm.mkbc.cn
http://www.15wanjia.com/news/70339.html

相关文章:

  • 铁岭免费网站建设太原搜索排名提升
  • 深圳制作网页设计资源企业网站排名优化价格
  • 晋中网站建设电话天津优化加盟
  • 有什么做宝宝辅食的网站吗网站怎么优化seo
  • 网站建设怎么宣传网站设计需要什么
  • 外贸公司的网站怎么做腾讯企点官网下载
  • 营销型的网站域名网络舆情监测系统
  • 网络推广培训哪里好廊坊seo网站管理
  • 网站程序和数据库seo软件
  • 南通做网站找谁百度应用商店下载安装
  • 什么网站可以查询企业信息推广普通话演讲稿
  • 做网站日ip100病毒式营销方法
  • 做网站前端用什么软件好推广普通话手抄报图片
  • 高端网站设计杭州设计网络营销方案
  • 沈阳网站搭建seo零基础入门到精通200讲
  • 外贸公司网站制作公司成都seo网站qq
  • 自动推广工具外贸网站seo推广教程
  • 网站没收录要怎么做百度客服投诉中心
  • 有什么做C语言的网站北京seo网站管理
  • 网站建设宣传图pswhois域名查询
  • 网站界面设计原则网站整站优化推广方案
  • 邮箱域名与网站域名会冲突吗互动营销策略
  • 黄河道网站建设公司浙江百度查关键词排名
  • 网站开发公司交易流程整站排名优化公司
  • 威海网站开发网络公司怎么在腾讯地图上添加自己的店铺
  • php网站开发视频百度问答平台入口
  • 响应式app下载wordpress主题网站排名怎么优化
  • 潍坊网站关键词推广b2c有哪些电商平台
  • 义乌网站建设制作商小红书信息流广告投放
  • 做宽屏网站西安seo阳建