js代码: 游戏的对象 ,食物,蛇 ,游戏控制思路如下 (完整代码在https://github.com/774044859yf/ObjectSnakeGame下载)

var snake = {

        aSnake: [],//添加蛇的数组
size: 20,//蛇的大小,每块身体的size
top: 200,//初始位置
left: 400,//初始位置
speed: 250,//初始速度
level: 1,//初始游戏等级
len: 3,//蛇身长度默认3个单位
direction: 'left',//方向默认向左走
create: function () {//创建初始蛇},
move: function () {//移动时 遍历蛇的身体div 设置的位置等于前一个的位置
snake.check();//移动的时候时刻检查是否撞到墙或自身
		snake.eat();//移动时时刻检查是否吃掉食物
},
check: function () {// 检查蛇头部的位置(死亡 吃东西)
	},
grow: function () {//蛇吃东西增长方法
	},
eat: function () {//吃东西方法
		if(){//吃掉东西
			snake.grow()
		}
        }
};
由于食物会重复调用 ,所以建成类,每次创建食物时new一下就行了
把类的方法添加在类的prototype对象下
function Food() {}
Food.prototype.default = function () {//初始化食物的位置 };
Food.prototype.create = function () {//创建随机生成的食物 };
根据需求创建游戏控制
var game = {
inter: 'inter',
init: function () {//根据自己的需求初始化游戏
var food = new Food();
food.default();//生成定位食物
snake.create();//生成蛇
},
start: function () {//蛇开始动
game.inter = setInterval(snake.move,snake.speed/snake.level);
},
stop: function () {
clearInterval(game.inter)
}
};
//调用游戏初始化
game.init();
初学js有什么错误请见谅,欢迎您指出错误并提出建议 ,谢谢~

JavaScript 面向对象思想 贪吃蛇游戏的更多相关文章

  1. 「JavaScript」手起刀落-一起来写经典的贪吃蛇游戏

    回味 小时候玩的经典贪吃蛇游戏我们印象仍然深刻,谋划了几天,小时候喜欢玩的游戏,长大了终于有能力把他做出来(从来都没有通关过,不知道自己写的程序,是不是能通关了...),好了,闲话不多谈,先来看一下效 ...

  2. 一个原生JS实现的不太成熟的贪吃蛇游戏

    一个初初初初级前端民工 主要是记录一下写过的东西,复习用 大佬们如果看到代码哪里不符合规范,或者有更好写法的,欢迎各位批评指正 十分感谢 实现一个贪吃蛇游戏需要几步? 1.有地图 2.有蛇 3.有食物 ...

  3. WebGL实现HTML5的3D贪吃蛇游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  4. 100行JS实现HTML5的3D贪吃蛇游戏

    js1k.com收集了小于1k的javascript小例子,里面有很多很炫很酷的游戏和特效,今年规则又增加了新花样,传统的classic类型基础上又增加了WebGL类型,以及允许增加到2K的++类型, ...

  5. javascript 编写的贪吃蛇

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. Qt 学习之路 2(34):贪吃蛇游戏(4)

    Qt 学习之路 2(34):贪吃蛇游戏(4) 豆子 2012年12月30日 Qt 学习之路 2 73条评论 这将是我们这个稍大一些的示例程序的最后一部分.在本章中,我们将完成GameControlle ...

  7. Qt 学习之路 2(32):贪吃蛇游戏(2)

    Qt 学习之路 2(32):贪吃蛇游戏(2) 豆子 2012年12月27日 Qt 学习之路 2 55条评论 下面我们继续上一章的内容.在上一章中,我们已经完成了地图的设计,当然是相当简单的.在我们的游 ...

  8. Qt 学习之路 2(31):贪吃蛇游戏(1)

    Qt 学习之路 2(31):贪吃蛇游戏(1) 豆子 2012年12月18日 Qt 学习之路 2 41条评论 经过前面一段时间的学习,我们已经了解到有关 Qt 相当多的知识.现在,我们将把前面所讲过的知 ...

  9. Android快乐贪吃蛇游戏实战项目开发教程-01项目概述与目录

    一.项目简介 贪吃蛇是一个很经典的游戏,也很适合用来学习.本教程将和大家一起做一个Android版的贪吃蛇游戏. 我已经将做好的案例上传到了应用宝,无病毒.无广告,大家可以放心下载下来把玩一下.应用宝 ...

随机推荐

  1. EasyUI时间格式化

    changeDateFormatNodate: function (cellval) { var date = new Date(parseInt(cellval.replace("/Dat ...

  2. php中的短标签 太坑人了

    今天配置了一个php页面去修改svn密码问题,结果调了半天,最后在Windows和 Linux的运行现象是不一样,运行结果更不一样了,关键是完全一模一样的代码. 最后发现是短标签引起的,Windows ...

  3. HDU 5768 - Lucky7

    题意: 给出x, y, m[1...n], a[1..n].     在[x,y]中寻找 p % 7 = 0 且对任意(1<= i <=n) p % m[i] != a[i] 的数字的个数 ...

  4. 类 的重载(Overloads)与隐藏(Shadows)

    我在上篇文章中讲解了类 的继承和重写,如果想要在派生类中重写基类了方法或函数,那首先基类必须要有用 Overridable 关键字的公开声明的方法或函数,这样,基类的派生类才能用 Overrides ...

  5. 资源回收 left

    select DISTINCT human.tid,log_pv_change.systafftid from human left join human_user on human.tid=huma ...

  6. yii2不用composer使用redis

    1.下载redis https://github.com/yiisoft/yii2-redis 2.下载解压放到 basic\vendor\yiisoft\yii2-redis 3.编辑文件: bas ...

  7. newifi升级固件及开启SSH

    1.固件去官方社区下载 2.开启SSH  连接newifi访问http://192.168.99.1/newifi/ifiwen_hss.html  看到返回success  说明开启SSH 3.使用 ...

  8. locate命令的安装

    linux中locate命令可以快速定位我们需要查找的文件,但是在yum中,locate的安装包名为mlocate(yum list | grep locate可以查看),安装方法: yum -y i ...

  9. ADO.NET帮助类DBHelper

    一. DBHelper帮助类 using System; using System.Collections.Generic; using System.Linq; using System.Text; ...

  10. gl.TexSubImage2D 使用遇到图片翻转的问题

    这2天在用gl.TexSubImage2D把几张小图转拼接成大图,如果在渲染物体之前拼接好就没有问题,但在开始渲染物体后拼接就会有问题.后来我做了2件事情来找原因, 1. 用拼好的图来画一个正方形,大 ...