<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>贪吃蛇</title>
<style>
* {
margin: 0;
padding: 0;
}
.food, .body, .head {
width: 20px;
height: 20px;
background-repeat: no-repeat;
background-size: 20px 20px;
position: absolute;
}
.map {
width: 800px;
height: 600px;
border: 10px solid pink;
margin: 30px auto;
background-image: url(./imgs/bg.png);
background-size: 20px 20px;
position: relative;
}
.food {
background-image: url(./imgs/food.png);
}
.head {
background-image: url(./imgs/head.png);
}
.body {
background-image: url(./imgs/body.png);
}
</style>
</head>
<body>
<button id="start">开始游戏</button>
<button id="pause">暂停游戏</button>
<button id="restart">重新开始游戏</button>
<div class="map" id="map"></div>
<script src="./js/utils.js"></script>
<script src="./js/food.js"></script>
<script src="./js/snake.js"></script>
<script src="./js/game.js"></script>
<script>
// 如何出现食物
// const f = new Food('#map')
// console.log(f)
// 如何出现蛇
// const s = new Snake('#map')
// console.log(s)
// 如何出现规则
const g = new Game('#map')
console.log(g)
// 玩游戏
const startBtn = document.querySelector('#start')
const pauseBtn = document.querySelector('#pause')
const restartBtn = document.querySelector('#restart')
startBtn.onclick = function () { g.start() }
pauseBtn.onclick = function () { g.pause() }
restartBtn.onclick = function () { g.restart() }
document.onkeydown = function (e) {
console.log(e.keyCode)
switch (e.keyCode) {
case 32: g.start(); break
case 13: g.pause(); break
case 65:
case 37: g.change('left'); break
case 87:
case 38: g.change('top'); break
case 68:
case 39: g.change('right'); break
case 83:
case 40: g.change('bottom'); break
}
}
</script>
<script>
/*
贪吃蛇
+ 游戏本身
=> 不包含任何对于游戏的控制
=> 只是单纯的游戏本身
+ 游戏控制
=> 利用你当前终端的和用户的交互来控制游戏
游戏本身(贪吃蛇)
+ 食物:
=> 决定一个食物出现在地图的什么位置
=> 如何对这个食物更换位置
+ 蛇:
=> 如何出现一条蛇
=> 蛇如何移动
=> 是否与食物坐标重叠
=> 是否死亡
+ 游戏规则
=> 组织起 食物 和 蛇
=> 进行开始游戏的控制
=> 进行暂停游戏的控制
=> 进行重新开始游戏的控制
=> 进行修改方向的控制(不和页面的任何内容交互)
*/
</script>
</body>
</html>
评论0