eclipse javascript_原生js实现贪吃蛇游戏_javascript技巧

 更新时间:2020年10月26日 11:46:36   作者:leisure-ZL  

这篇文章主要为大家详细介绍了原生js实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

原生JavaScript实现贪吃蛇游戏的具体代码,供大家参考,具体内容如下

781b5d7420c3b139ceb83fc5c5237427.png

代码:


<script>
 var timer = null;
 var oMain = ("main");
 
 function Map(atom,xnum,ynum){//地图,设置单位大小,及根据单位大小创建地图
  this.atom = atom;
  this.xnum = xnum;
  this.ynum = ynum;
  
  this.create = function(){
  
   = ("div");
  .style.cssText = "position: relative;top: 40px;border: 1px solid red;background: #F1F1F1;"
  .style.width = this.atom * this.xnum + "px";//画布宽
  .style.height = this.atom * this.ynum + "px";//画布高
  ();
  }
 }
 
 function Food(map){//食物
  this.width = map.atom;
  this.height = map.atom;
  //实现随机背景色
  this.bgColor = "rgb("+(()*200)+","+(()*200)+","+(()*200)+")";
 
  this.x = (()*);
  this.y = (()*);
  
   = ('div');
  .style.width = this.width + 'px';
  .style.height = this.height + 'px';
  .style.backgroundColor = this.bgColor;
  .style.borderRadius = '50%';
  .style.position = "absolute";
  .style.left = this.x * this.width + 'px';
  .style.top = this.y * this.height + 'px';
  
  ();
 }
 
 //重新开始
 function restart(map,snake){
  for(var i=0; i<.length; i++){
  ([i].flag);
  }
   = [
  {x : 2,y : 0},//蛇头
  {x : 1,y : 0},//蛇身
  {x : 0,y : 0}//蛇尾
  ]
   = "right";
  ();
  
  ();
  food = new Food(map);
 }
 
 function Snake(map){
  this.width = map.atom;
  this.height = map.atom;
  
   = "right";
  
   = [
  {x : 2,y : 0},
  {x : 1,y : 0},
  {x : 0,y : 0}
  ]
  
   = function(){
  for(var i=0; i<.length; i++){
   if([i].x != null){
   var s = ('div');
   //将节点保存
   [i].flag = s;
   
   //设置样式
   s.style.width = this.width + 'px';
   s.style.height = this.height + 'px';
   s.style.backgroundColor = "rgb("+(()*200)+","+(()*200)+","+(()*200)+")";
   s.style.borderRadius = '50%';
   
   //设置位置
   s.style.position = "absolute";
   s.style.left = [i].x * this.width + 'px';
   s.style.top = [i].y * this.height + 'px';
   
   //添加到地图
   (s);
   }
  }
  }
  
  this.run = function(){
  for(var i=.length-1; i>0; i--){
   [i].x = [i-1].x;
   [i].y = [i-1].y
   
  }
  switch(){
   case "left":[0].x -= 1;break;
   case "right":[0].x += 1;break;
   case "up":[0].y -= 1;break;
   case "down":[0].y += 1;break;
  }
  //吃食物
  if([0].x == food.x && [0].y == ){
   .push({x : null,y : null,flag : null});
   
   ();
   food = new Food(map);
  }
  
  //判断游戏结束
  if([0].x<0 || [0].x>-1 || [0].y<0 || [0].y>-1){
   clearInterval(timer);
   alert("GAME OVER!");
   restart(map,this);
   return false;
  }
  for(var i=4; i<.length; i++){
   if([0].x == [i].x && [0].y == [i].y){
   clearInterval(timer);
   alert("GAME OVER!");
   restart(map,this);
   return false;
   }
  }
  
  //删除原来
  for(var i=0; i<.length; i++){
   if([i].flag != null){
   ([i].flag);
   }
  }
  ();
  }
 }

 
 //创建地图对象
 var map = new Map(20,40,20);
 ();
 
 //创建食物对象
 var food = new Food(map);
 
 //创建蛇对象
 var snake = new Snake(map);
 ();
 
 
 //加上键盘事件(改变蛇头方向)
 window.onkeydown = function(e){
  event = e || window.event;
  
  switch(){
  case 38:
   if( != "down")//禁止掉头
    = "up";
  break;
  case 40:
   if( != "up")
    = "down";
  break;
  case 37:
   if( != "right")
    = "left";
  break;
  case 39:
   if( != "left")
    = "right";
  break;
  }
 }
 
 var speed = 100;
 
 function start(){
  clearInterval(timer);
  timer = setInterval(function(){
  ();
  ("score").innerHTML = .length-3;
  start();
  },speed)
 }
 
 //难度
 ("1").onclick = function(){
  speed = 100;
 }
 
 ("2").onclick = function(){
  speed = 50;
 }
 
 ("3").onclick = function(){
  speed = 20;
 }
 
 ("begin").onclick = function(){
  start();
 }
 
 ("pause").onclick = function(){
  
  clearInterval(timer);
 }
</script>

代码仅有js部分,完整代码可以上我的github免费下载

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

C++经典小游戏汇总

python经典小游戏汇总

python俄罗斯方块游戏集合

JavaScript经典游戏 玩不停

javascript经典小游戏汇总

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

  • 3febc29c4ac5e8f2296b7780c9fc2372.png

    浅谈TypeScript的类型保护机制

    这篇文章主要介绍了浅谈TypeScript的类型保护机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-02-02
  • d10aeb4b9cee7d4e55caf4826a0a92c2.png

    深入理解redux之compose的具体应用

    这篇文章主要介绍了深入理解redux之compose的具体应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    2020-01-01
  • f94c845095bae56a30777a8f079780e0.png

    深入浅析JavaScript中with语句的理解

    JavaScript 有个 with 关键字, with 语句的原本用意是为逐级的对象访问提供命名空间式的速写方式。这篇文章主要介绍了JavaScript中with语句的相关知识,感兴趣的朋友一起学习吧

    2016-05-05
  • 5b7f45b3a7726caea38f77cfd7e5c43e.png

    javascript实现3D变换的立体圆圈实例

    这篇文章主要介绍了javascript实现3D变换的立体圆圈效果,涉及javascript动态操作页面元素实现滚动与变色的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

    2015-08-08
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Eclipse是一个非常强大的集成开发环境(IDE),可以用于开发各种类型的应用程序,包括网页前端开发。然而,Eclipse本身并没有原生支持HTML和JavaScript开发,所以我们需要安装一些插件来扩展它的功能。 首先,我们需要安装一个HTML插件,比如Eclipse Web Tools Platform(WTP)插件。这个插件提供了对HTML、CSS和JavaScript的编辑和调试功能,使我们能够更方便地编写和测试网页前端代码。 其次,为了在Eclipse中更好地开发JavaScript,我们可以安装JavaScript开发工具(JSDT)插件。这个插件提供了语法高亮、代码提示、错误检查等功能,可以极大地提升我们开发JavaScript的效率。 另外,还有一些其他的常用插件可以用于网页前端开发,比如Eclipse Color Theme插件用于定制IDE的配色方案,Enhanced Class Decompiler插件用于反编译Java类文件等。 总之,Eclipse可以通过安装各种插件来扩展其功能,使之成为一款强大的网页前端开发工具。但是需要注意的是,随着Web开发的进一步发展,一些更专业、更适合网页前端开发的IDE如Visual Studio Code等也值得尝试。 ### 回答2: Eclipse HTML JS是一个在Eclipse开发环境中使用的插件,它提供了对HTML和JavaScript的开发支持。通过安装和使用这个插件,开发人员可以更轻松地编写、调试和管理HTML和JavaScript代码。 首先,该插件为开发人员提供了HTML和JavaScript的代码编辑器。这个编辑器具有许多方便的功能,如代码补全、语法高亮、代码格式化等。开发人员可以通过这些功能更快捷地编写和编辑HTML和JavaScript代码,提高开发效率。 其次,该插件还提供了一些调试工具,使得调试HTML和JavaScript代码变得更加容易。开发人员可以在Eclipse中设置断点,查看变量的值,单步调试等。这些工具可以帮助开发人员快速定位和解决代码中的错误,提高代码质量。 此外,该插件还支持对HTML和JavaScript项目的管理。开发人员可以使用插件中提供的项目管理工具,创建、导入、导出和删除项目。这些功能可以帮助开发人员更好地组织和管理项目,提高开发效率。 总之,Eclipse HTML JS插件为开发人员提供了便捷的HTML和JavaScript开发环境。通过该插件,开发人员可以更轻松地编写、调试和管理HTML和JavaScript代码,提高开发效率和代码质量。 ### 回答3: Eclipse是一个开源的集成开发环境(IDE),可用于多种编程语言,包括Java、C++、PHP等。对于前端开发人员来说,Eclipse也提供了一些插件,以方便我们在HTML和JavaScript开发中的工作。 对于HTML开发,Eclipse提供了一些插件,如Web Tools Platform(WTP)和Web Development Tools(WDT)。这些插件提供了HTML代码编辑、语法检查、自动补全和代码提示等功能,使我们更加高效地编写HTML代码。 对于JavaScript开发,Eclipse同样提供了一些插件,如JavaScript Development Tools(JSDT)和Aptana Studio。这些插件允许我们编写、调试和测试JavaScript代码。它们提供了代码编辑器、错误检查、调试功能,以及许多其他有用的特性,帮助我们更好地开发JavaScript应用程序。 除了以上提到的插件,还有许多其他的Eclipse插件,可用于进一步增强我们的HTML和JavaScript开发经验。比如,CodeMix插件集成了许多前端开发工具,支持JavaScript框架、CSS编辑、React和Angular开发等。另外,Eclipse Color Theme插件允许我们自定义Eclipse编辑器的颜色主题,使编码界面更具个性化。 总结来说,Eclipse提供了许多插件来支持HTML和JavaScript开发。这些插件提供了代码编辑、错误检查、调试和代码提示等功能,使我们能够更高效、更方便地开发和调试我们的前端应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值