javascript实现贪吃蛇经典游戏实现贪吃蛇经典游戏
主要为大家详细介绍了javascript实现贪吃蛇经典游戏,文中示例代码介绍的非常详细,具有一定的参考价值,
感兴趣的小伙伴们可以参考一下
js面向对象编程之贪吃蛇,供大家参考,具体内容如下
首先:面向对象编程,我们要找到项目中具体的对象,此处为(食物(food),蛇(snake),游戏本身(game))也可不
把游戏本身作为对象,逻辑体现出来即可。
接着分析每个对象的具体的属性及方法:
1)food 对象:属性有:位置,大小,颜色;方法有:渲染在页面,随机不同位置生成;
2)snake对象:属性有:位置,大小,总节数(计分方便),颜色;方法有:渲染在页面,移动(移动过程中判断其它)。
3)game对象:游戏逻辑的编写;
ok 开敲:
1)简单的静态页面编写(地图)
(1)html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="css/index.css" >
<script src="js/food.js"></script>
<script src="js/snake.js"></script>
<script src="js/game.js"></script>
<script src="js/main.js"></script>
<title>贪吃蛇</title>
</head>
<body>
<div class="map"></div>
</body>
</html>
(2)css(如果用边框来作为限制的边界,那么box-sizing属性是必不可少的(以免食物和蛇头坐标之间存在误差))
* {
margin: 0;
padding: 0;
}
.map {
position: relative;
height: 600px;
width: 800px;
border: 1px solid #333;
margin: 0 auto;
/* 盒子模型去除边框 */
box-sizing: border-box;
}
2)food对象编写(细节处含注释)
//cwen加载页面所有元素
window.addEventListener('load', function() {
//cwen自调用函数,开启一个新的作用域,避免命名冲突
(function() {
//cwen定义全局变量
//实物数组
var elements = [];
//cwen实物
function Food(options) {
options = options || {};
this.x = options.x || 0;
this.y = options.y || 0;
this.width = options.width || 20;
this.height = options.height || 20;
this.color = options.color || 'yellow';
}