从0到1学习JavaScript编写贪吃蛇游戏


Posted in Javascript onJuly 28, 2020

本文实例为大家分享了JavaScript编写贪吃蛇游戏的具体代码,供大家参考,具体内容如下

游戏截图

从0到1学习JavaScript编写贪吃蛇游戏

1.画出游戏界面

var c=document.getElementById("myCanvas");
 var cxt=c.getContext("2d");//获取地图

2.给小蛇设置参数

var time = 160 ; //蛇的速度
 var x = y = 8; 
   var t = 20; //蛇身长
   var map = []; //记录蛇运行路径
 var size = 8; //蛇身单元大小

3.移动小蛇以及判断游戏失败条件

function set_game_speed(){ // 移动蛇
 switch(direction){
  case 1:y = y-size;break;
  case 2:x = x+size;break;
  case 0:x = x-size;break;
  case 3:y = y+size;break;
 }
 if(x>400 || y>400 || x<0 || y<0){
  alert("碰壁了!游戏失败.....");window.location.reload(); 
  }
 for(var i=0;i<map.length;i++){
  if( parseInt(map[i].x)==x && parseInt(map[i].y)==y){
  alert("撞到自己了!游戏失败.....");window.location.reload(); 
  }
  }
  if (map.length>t) { //保持舍身长度
  var cl = map.shift(); //删除数组第一项,并且返回原元素
  cxt.clearRect(cl['x'], cl['y'], size, size);
  };
  map.push({'x':x,'y':y}); //将数据添加到原数组尾部
  cxt.fillStyle = "green";//内部填充颜色
  cxt.strokeStyle = "green";//边框颜色
  cxt.fillRect(x, y, size, size);//绘制矩形
  if((a*8)==x && (a*8)==y){ //吃食物
  rand_frog();t++;//吃到食物蛇身加长
  Score_change();
  }
 }

4.改变蛇的方向

document.onkeydown = function(e) { //改变蛇方向
 var code = e.keyCode - 37;
 switch(code){
  case 1 : direction = 1;break;//上
  case 2 : direction = 2;break;//右
  case 3 : direction = 3;break;//下
  case 0 : direction = 0;break;//左
 }
 }

5.随机生成食物

//随机生成食物 
 function rand_frog(){
   a = Math.ceil(Math.random()*50);
   cxt.fillStyle = "red";//内部填充颜色
   cxt.strokeStyle = "red";//边框颜色
   cxt.fillRect(a*8, a*8, 8, 8);//绘制矩形
}
// 随机放置食物
rand_frog();

6.设置得分情况

//计算得分
function Score_change(){
 s=s+10;
 score.value=s; 
}

完整源代码:

从0到1学习JavaScript编写贪吃蛇游戏

更多有趣的经典小游戏实现专题,分享给大家:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
用js+xml自动生成表格的东西
Dec 21 Javascript
使用jQuery向asp.net Mvc传递复杂json数据-ModelBinder篇
May 07 Javascript
尝试在让script的type属性等于text/html
Jan 15 Javascript
jQuery Ajax()方法使用指南
Nov 19 Javascript
原生js制作简单的数字键盘
Apr 24 Javascript
javascript实现简单的html5视频播放器
May 06 Javascript
JavaScript取得键盘按下方向键是哪个的方法
Aug 04 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 jQuery
如何将你的AngularJS1.x应用迁移至React的方法
Feb 01 Javascript
vue.js与element-ui实现菜单树形结构的解决方法
Apr 21 Javascript
原生JS实现图片懒加载之页面性能优化
Apr 26 Javascript
利用百度echarts实现图表功能简单入门示例【附源码下载】
Jun 10 Javascript
javascript如何使用函数random来实现课堂随机点名方法详解
Jul 28 #Javascript
Node.js 深度调试方法解析
Jul 28 #Javascript
vue-列表下详情的展开与折叠案例
Jul 28 #Javascript
js 数组当前行添加数据方法详解
Jul 28 #Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 #Javascript
JS代码简洁方式之函数方法详解
Jul 28 #Javascript
vue 组件之间事件触发($emit)与event Bus($on)的用法说明
Jul 28 #Javascript
You might like
PHP扩展编写点滴 技巧收集
2010/03/09 PHP
如何用php获取文件名后缀
2013/06/09 PHP
JS option location 页面跳转实现代码
2008/12/27 Javascript
js 获取服务器控件值的代码
2010/03/05 Javascript
JQuery中SetTimeOut传参问题探讨
2013/05/10 Javascript
Table冻结表头示例代码
2013/08/20 Javascript
jquery配合css简单实现返回顶部效果
2013/09/30 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
JS小功能(button选择颜色)简单实例
2013/11/29 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
jQuery实现TAB选项卡切换特效简单演示
2016/03/04 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
详解JS数据类型的值拷贝函数(深拷贝)
2017/07/13 Javascript
自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结
2017/08/18 Javascript
JS随机排序数组实现方法分析
2017/10/11 Javascript
element-ui表格合并span-method的实现方法
2019/05/21 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
vue+vant使用图片预览功能ImagePreview的问题解决
2020/04/10 Javascript
[48:48]完美世界DOTA2联赛PWL S3 Magama vs GXR 第一场 12.19
2020/12/24 DOTA
python中global与nonlocal比较
2014/11/21 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
django2 快速安装指南分享
2018/01/05 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
英国手工制作的现代与经典的沙发和床:Love Your Home
2020/09/26 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
ruby如何进行集成操作?Ruby能进行多重继承吗?
2013/10/16 面试题
六一儿童节开幕词
2015/01/29 职场文书
考试没考好检讨书
2015/05/06 职场文书
收入证明范本
2015/06/12 职场文书
2016年社区文体活动总结
2016/04/06 职场文书
干货干货!2019最新优秀创业计划书
2019/03/21 职场文书
2019年励志签名:致拼搏路上的自己
2019/10/11 职场文书
JavaScript实现贪吃蛇游戏
2021/06/16 Javascript