从今天开始,我要整理整理之前学习的时候写的一些小demo了和记的一些重点笔记了,自己也顺便复习一下
网页贪吃蛇小游戏
这个是我学完JavaScript跟着视频学写的第一个小项目,现在想想,是有一丝丝的成就感的
这个项目主要是js,HTML的页面代码很少
回忆一下当初的主要思路
1、页面分为两个区域——用户界面区和游戏区
2、用户界面区有显示得分功能和开始、暂停、重新游戏按钮
3、用DIV+CSS布局规划页面
4、创建地图、蛇、食物
5、用键盘方向键可以控制蛇移动
6、蛇头触碰食物,食物消失,蛇增加长度,得分
效果图
(我承认界面有点丑)
首先地图对象main.js
(function(){
var map = document.getElementById("map");
var game = new Game(map);
game.start();
})();
蛇对象snake.js
(function () {
var position = 'absolute';
//记录之前创建的蛇
var elements = [];
var score = 0;
function Snake (options) {
options = options || {
};
//蛇节的大小
this.width = options.width || 20;
this.height = options.height || 20;
//蛇移动的方向
this.direction = options.direction || 'right'
//蛇的身体(蛇节) 第一个元素是蛇头
this.body = [
{
x: 3, y: 2, color: 'red'},
{
x: 2, y: 2, color: 'blue'},
{
x: 1, y: 2, color: 'blue'}
];
}
Snake.prototype.render = function (map) {
//删除之前的蛇节
remove();
//把每一个蛇节渲染到地图上
for (var i = 0, len = this.body.length; i < len; i++) {
//蛇节
var object = this.body[i];
var div = document.createElement('div');
map.appendChild(div);
//记录当前蛇
elements.push(div);
//设置样式
div.style.position = position;
div.style.width = this.width + 'px';
div.style.height = this.height + 'px';
div.style.left = object.x * this.width + 'px';
div.style.top = object.y * this.height + 'px';
div.style.backgroundColor = object.color;
}
}
//私有成员
function remove() {
for(var i = elements.length - 1; i >= 0; i--)