snake怎么玩,这里就不做介绍,大家都应该知道。写这篇东西只是作为自己的一个学习测验跟记录用。因为俗话说的好,好记忆不如烂笔头,还是记下来比较好。
以前没有怎么用javascript写过小游戏。使用js的地方也仅仅是一些针对web页面的简单验证操作。知道网上有一大堆关于这个游戏的javascript实现,不过没怎么看,觉得还是用自己了解的javascript来写。这个过程虽然是在造轮子,但是对于一些概念的理解我想应该也是很有帮助的。起码可以直观的了解javascript面向对象的实现。
以下就是在写snake这个 js 实现的游戏中所想到的及最后的代码,存属自己学习使用,当然能有这样的想法也不是一下子就达到的,而是在不断的重构中才有了以下这些代码。其中涉及到的算法及代码如有雷同纯属巧合。
基本实现方式:
-
用div+span+css的形式绘制一个20×20的方格画布canvas,并且对每一个span表示的格子有唯一的ID确定;
-
snake用canvas的方格表示;
-
snake的移动表示为当蛇头前进一格就改变snake head所在canvas格子的颜色,而改变snake tail所在canvas的颜色为背景色
-
snake身体是由符合规则所在每个span表示的格子ID所造成的一个数组。
-
生成20×20画布的边缘即为snake运动边界;snake运动步长为一次一个格子。
-
snake水平运动head应为加减一;上线运动head为加减二十;
首先对于该游戏的目标定为:
-
snake运动的画布canvas可以生成;
-
可以使用键盘方向键控制snake 的移动;
-
可以为snake生成食物food,不同级别的食物;
-
当snake获取food时,记分并改变snake的身体;
-
当snake撞墙或是吃到自己时重新生成游戏;
-
显示当前snake的得分及玩家的历史记录;
为了完成以上目标需要设立以下几个对象:
-
画布对象Canvas,用来标记蛇运动场所;
-
蛇对象Snake,用来显示一条蛇;
-
蛇的食物Food;
-
记分牌对象Scoreboard;
-
贪吃蛇游戏对象SnakeGame;
画布Canvas对象。
首先画布如下形式:
那么该对象具有属性为canvas所规定的四面墙,也就是snake运动范围的四个边界,以此定义为northWall(北)、eastWall(东)、southWall(南)、westWall(西);
同时canvas对象应该具有两个方法,分别为:展示该画布的方法draw()及判断某快砖属于那面墙的方法whichWallForBrick(vBrick)。
实现如下:
Snake对象:
针对上图不难看出,定义一条snake需要制定该snake的head(图中绿色部分)及tail(图中灰色部分);snake的长度也就snake身体的所占span格子的个数.
因此一条snake具有属性:head(蛇头)、tail(蛇尾)、body(身体)及direction(蛇的前进方向)
snake应该具有的方法为:移动并且找到食物moveAndFindFood(oFood)、判断是否走出了canvas的方法isHitWall(oCanvas)以及在canvas上展示snake的方法draw()
实现如下:
Food对象:
图中的黄色即为snake's food;
Food对象很简单具有属性:iNo(食物位置编号)、iRank(食物等级)、bEat(是否被吃掉)及aColor(食物颜色);
方法为:productionFoodForSnake(oSnake)(生产食物)
分享到:
相关推荐
JavaScript贪吃蛇小游戏是一款基于网页的互动娱乐项目,利用JavaScript编程语言实现。JavaScript是一种轻量级的解释型编程语言,广泛应用于网页和网络应用开发,它允许在浏览器端执行代码,为用户提供动态交互的体验...
总的来说,JavaScript贪吃蛇游戏是一个很好的实践项目,它涵盖了JavaScript的基础语法、对象操作、事件处理以及基本的游戏逻辑。通过学习和理解这个游戏,你不仅能提高JavaScript编程技能,还能培养逻辑思维能力和...
将上述逻辑整合到一起,一个完整的JavaScript贪吃蛇游戏大致如下: ```javascript // 初始化 // ... document.addEventListener('keydown', (event) => { // ... }); function gameLoop() { // ... ...
JavaScript贪吃蛇是一款基于网页的经典小游戏,利用JavaScript、jQuery等技术实现。JavaScript是浏览器端的主要脚本语言,负责处理游戏的逻辑和用户交互,而jQuery则简化了DOM操作和事件处理,让代码更加简洁易懂。 ...
**贪吃蛇游戏是计算机编程领域中的一个经典项目,它通常用于教学和实践基础编程技能。在这个HTML+JavaScript实现的版本中,我们将深入探讨如何利用这两种技术构建一个完整的交互式游戏。** 首先,HTML(超文本标记...
JavaScript贪吃蛇游戏是一款经典的基于Web的休闲游戏,利用JavaScript编程语言实现。在这个游戏中,玩家控制一条蛇在网格中移动,通过吃掉食物来增长蛇的长度,同时避开蛇身,因为碰到自身或边界会导致游戏结束。...
javascript贪吃蛇游戏,欢迎下载!
JavaScript贪吃蛇是一款基于网页的经典小游戏,通过JavaScript编程语言实现。这款游戏的核心原理是利用JavaScript的事件监听、定时器和数组操作来控制蛇的移动、食物的生成以及碰撞检测。下面我们将详细探讨这些知识...
JavaScript贪吃蛇小游戏是一款利用JavaScript编程语言开发的互动娱乐项目,它基于HTML页面展示游戏界面。这个小游戏的设计目的是为了帮助开发者提升JavaScript技能,同时提供一个有趣的学习和交流平台。在这个游戏中...
JavaScript简易贪吃蛇是一款基于网页的简单游戏,利用JavaScript编程语言实现。JavaScript,简称JS,是一种广泛用于客户端Web开发的脚本语言,它通常嵌入HTML文档中,为网页添加交互性。在这个项目中,我们将深入...
分享一个基于JavaScript的贪吃蛇游戏源码,纯手写,如果对我的代码有更好的建议,可以给我留言。
在本项目中,我们将深入探讨如何使用原生JavaScript来实现一个经典的贪吃蛇游戏。JavaScript是一种广泛用于网页和网络应用的编程语言,以其灵活性和强大的功能而受到开发者的喜爱。贪吃蛇游戏作为一款历史悠久、简单...
用 Javascript 编程和其他语言的一个大的区别就是键盘的控制代码不同。js是通过 Key=event.keyCode 语句获取键盘码,再在多分支 switch 结构里分别处理。看完这些代码就会对浏览器里的键盘控制有所了解了。 当然...
JavaScript贪吃蛇是一款基于网页的经典游戏,通过JavaScript编程语言实现,展现了JavaScript在游戏开发中的应用。这款游戏的原理是利用HTML作为展示界面,JavaScript处理游戏逻辑和用户交互,为玩家提供了一个简单但...
瞎写的,很多功能没实现,比如暂停开始,本来想整合到一起
在本主题中,我们将深入探讨如何使用原生JavaScript实现经典的贪吃蛇游戏。JavaScript作为Web开发中最常用的脚本语言,其灵活性和强大的功能使得开发者能够创建各种交互式应用,包括这款深受喜爱的游戏。 首先,...
【HTML+JavaScript贪吃蛇原创】是一个经典的网页游戏实现,主要利用HTML作为页面结构,JavaScript进行动态逻辑处理,实现了一款可自定义修改的贪吃蛇游戏。这个游戏的基础原理是利用用户输入控制蛇的移动,当蛇吃到...
JavaScript贪吃蛇游戏是一款经典的基于网页的休闲游戏,利用HTML、CSS和JavaScript技术实现。HTML负责构建游戏的基础结构,CSS用于美化游戏界面,而JavaScript则是游戏的核心,处理游戏逻辑、用户交互以及动态更新...
JavaScript是一种广泛应用于网页和网络应用的脚本语言,尤其在游戏开发领域,它的重要性日益凸显。面向对象编程(Object-Oriented Programming, OOP)是JavaScript中的核心编程范式之一,它通过类和对象来组织代码,...