热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

分享一个用html5实现的贪吃蛇特效代码

web前端|H5教程HTML5,贪吃蛇,特效web前端-H5教程本篇小编为大家分享一个用html5实现的简单贪吃蛇特效代码,喜欢的小伙伴们可以看一下图片分享站源码,vscode怎样

web前端|H5教程分享一个用html5实现的贪吃蛇特效代码
HTML5,贪吃蛇,特效
web前端-H5教程
本篇小编为大家分享一个用html5实现的简单贪吃蛇特效代码,喜欢的小伙伴们可以看一下
图片分享站源码,vscode怎样注册,ubuntu 18 网卡驱动,tomcat服务路径,sqlite优化 ios,discuz 插件嵌入,纯前端小程序框架,小透明爬虫,wdcp php,seo ftp,php 手机网站模板下载,网页右侧悬浮广告,php商城后台管理模板,特效404页面,开源 多媒体管理系统,app程序源代码下载lzw

//内置大量BUG,I'm sorry. var lev=100;//定时器间隔时间 var num=30; //网格大小,现在是30x30 var direction=3; //0:up 1:down 2:left 3:right var handle; //用于管理定时器 var score=0;//分数 var pause=true; //暂停使用 var canvas = document.getElementById('plank'); var cOntext= canvas.getContext('2d'); var snakex=new Array(); //存储蛇身x坐标,下同 var snakey=new Array(); var prize=new Array(-1,-1); //食物的位置 function rand(){ //产生随机数return parseInt(Math.random()*num); } function chk(x,y){ //检查是否结束,包括越界if(x<0||ynum-1||y>num-1) return false;for (var i=0; i!=snakex.length-1;i++) { if(snakex[i]==x&&snakey[i]==y) {return false;}};return true; } function drawScore(text){ //打印分数context.clearRect(0,0,300,25);context.fillText("Score:"+text,5,5); } function makeprize(){ //产生食物的位置var flag=false;var prizepre=new Array(2); //使用链表会更好while(!flag){ //食物位置不能在蛇体内 flag=true; prizepre[0]=rand();prizepre[1]=rand(); for (var i=0; i!=snakex.length;i++) { if((snakex[i]==prizepre[0])&&(snakey[i]==prizepre[1])) {flag=false;} }}prize=prizepre; } function runscore(x,y){ //判断是否吃到食物,并做处理if(prize[0]==x&&prize[1]==y){ score=score+1; drawScore(score); snakex[snakex.length]=prize[0]; snakey[snakey.length]=prize[1]; makeprize(); drawNode(prize[0],prize[1]); return true;}return false; } function run(){ //定时器用来判断snake行进方向等等switch(direction){ //方向 case 0: snakex[snakex.length]=snakex[snakex.length-1];snakey[snakey.length]=snakey[snakey.length-1]-1;break; case 1: snakex[snakex.length]=snakex[snakex.length-1];snakey[snakey.length]=snakey[snakey.length-1]+1;break; case 2: snakex[snakex.length]=snakex[snakex.length-1]-1;snakey[snakey.length]=snakey[snakey.length-1];break; case 3: snakex[snakex.length]=snakex[snakex.length-1]+1;snakey[snakey.length]=snakey[snakey.length-1];break;}if(!runscore(snakex[snakex.length-1],snakey[snakey.length-1])){ if(chk(snakex[snakex.length-1],snakey[snakey.length-1])==false) { clearInterval(handle); drawScore('\\tGame over'); return; } drawNode(snakex[snakex.length-1],snakey[snakey.length-1]);}clearNode(snakex[0],snakey[0]);snakex.shift();snakey.shift(); } function drawNode(x,y){ //画点,共30X30个点(10*10像素算1个点)context.fillRect(x*10+1,y*10+31,10,10); } function clearNode(x,y){context.clearRect(x*10+1,y*10+31,10,10); } function init(){ //初始化,设置画布大小,启动定时器等等canvas.width = 510;canvas.height = 600;context.fOnt= "normal 20px Airl";context.textBaseline = "top";context.fillText('P键开始/暂停,方向键控制',0,350);drawScore('');context.strokeRect(0,30,302,302);makeprize();drawNode(prize[0],prize[1]);snakex[0]=0;snakex[1]=1;snakex[2]=2;snakey[0]=0;snakey[1]=0;snakey[2]=0;drawNode(snakex[0],snakey[0]);drawNode(snakex[1],snakey[1]);drawNode(snakex[2],snakey[2]); } document.Onkeydown=function(event){ //注册键盘事件,up,down,left,right,暂停键pvar e = event || window.event;if(e&&e.keyCode==38){ direction=0;}if(e&&e.keyCode==40){ direction=1;}if(e&&e.keyCode==37){ direction=2;}if(e&&e.keyCode==39){ direction=3;}if(e&&e.keyCode==80){ if(pause) {pause=false;handle=setInterval(run,lev);} else {pause=true;clearInterval(handle);}} } init();

【相关推荐】

apache http源码,迁移vscode插件,ubuntu翻译,eclipse关联tomcat,c sqlite 多线程,口碑好高端网页设计制作,免费数据库mysql5,如何在阿里云搭建ftp服务器配置,导航软件加密插件申请,兼容ie6的前端框架,网络爬虫的作用,PHP mvc,seo数据分析,如何介绍下springboot,phpcms 文章分页标签,如何修改网站下面的版权链接,html登陆网页设计实例,公众平台投票页面模板,phpcms后台登陆空白,php mysql 注册页面,任务管理系统 php,web 应用程序图标素材lzw
1. 免费h5在线视频教学
查询快递的网站源码,vscode是哪里发明的,ubuntu 合并解压,tomcat9.0功能,反爬虫鼠标,php 上传图片路径获取,北京品质seo优化答疑解惑,音乐网站模板下载,影视专栏模板lzw
2. HTML5 完整版手册

3. php.cn原创html5视频教学


推荐阅读
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Oracle 和 mysql的9点区别【MySQL】
    数据库|mysql教程oracle,Oracle,money,mysql,coun数据库-mysql教程1.组函数用法规则mysql中组函数在select语句中可以随意使用,但在o ... [详细]
  • ORACLE空间管理实验5:块管理之ASSM下高水位的影响
    数据库|mysql教程ORACLE,空间,管理,实验,ASSM,下高,水位,影响,数据库-mysql教程易语言黑客软件源码,vscode左侧搜索,ubuntu怎么看上一页,ecs搭 ... [详细]
  • 电脑f5键是什么作用
    常见问题f5常见问题韩亚整形医院源码,vscode写前端代码,ubuntu低配,tomcat下载路径乱码,爬虫_gscu,php精粹pdf,广州快速seo优化排名,aspwap网站 ... [详细]
  • 如何实现织梦DedeCms全站伪静态
    本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ... [详细]
  • PHPMailer邮件类邮件发送功能的使用教学及注意事项
    本文介绍了使用国外开源码PHPMailer邮件类实现邮件发送功能的简单教学,同时提供了一些注意事项。文章涵盖了字符集设置、发送HTML格式邮件、群发邮件以及避免类的重定义等方面的内容。此外,还提供了一些与PHP相关的资源和服务,如传奇手游游戏源码下载、vscode字体调整、数据恢复、Ubuntu实验环境搭建、北京爬虫市场、进阶PHP和SEO人员需注意的内容。 ... [详细]
  • 分享css中提升优先级属性!important的用法总结
    web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
  • PHP函数实现分页含文本分页和数字分页【PHP】
    后端开发|php教程PHP,分页后端开发-php教程最近,在项目中要用到分页。分页功能是经常使用的一个功能,所以,对其以函数形式进行了封装。影视网源码带充值系统,vscode配置根 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • Linux下部署Symfoy2对app/cache和app/logs目录的权限设置,symfoy2logs
    php教程|php手册xml文件php教程-php手册Linux下部署Symfoy2对appcache和applogs目录的权限设置,symfoy2logs黑色记事本源码,vsco ... [详细]
  • Python 可视化 | Seaborn5 分钟入门 (六)——heatmap 热力图
    微信公众号:「Python读财」如有问题或建议,请公众号留言Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seabo ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • 用PHP连接MySQL代码的参数说明【PHP】
    后端开发|php教程PHP,连接,MySQL,参数后端开发-php教程代码是这样的:大图标网站源码,怎么在vscode中调试css,ubuntu退出命令行,系统默认开tomcat, ... [详细]
  • Givenasinglylinkedlist,returnarandomnode'svaluefromthelinkedlist.Eachnodemusthavethe s ... [详细]
  • 开源Keras Faster RCNN模型介绍及代码结构解析
    本文介绍了开源Keras Faster RCNN模型的环境需求和代码结构,包括FasterRCNN源码解析、RPN与classifier定义、data_generators.py文件的功能以及损失计算。同时提供了该模型的开源地址和安装所需的库。 ... [详细]
author-avatar
mobiledu2502863997
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有