DDR爱好者之家 Design By 杰米

本文实例为大家分享了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编写贪吃蛇游戏

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

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

java经典小游戏汇总

javascript经典小游戏汇总

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

DDR爱好者之家 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
DDR爱好者之家 Design By 杰米

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。