簡單的小游戲制作,代碼量只有兩三百行,游戲可自行擴展延申,
原始碼已發布至github,喜歡的點個小星星,原始碼入口:game-snake
游戲已發布,游戲入口:http://snake.game.yanjd.top
第一步 - 制作想法
游戲如何實作是首要想的,這里我的想法如下:
- 利用canvas進行繪制地圖(格子裝),
- 利用canvas繪制蛇,就是占用地圖格子,讓蛇移動,即:更新蛇坐標,重新繪制,
- 創建四個方向按鈕,控制蛇接下來的方向,
- 隨機在地圖上繪制出果子,蛇移動時“吃”到果子,增加長度和“移速”,
- 開始鍵和結束鍵配置,分數顯示、歷史記錄
第二步 - 框架選型
從第一步可知,我想實作這個游戲,只需要用到canvas繪制就可以了,沒有物理引擎啥的,也沒有高級的UI特效,可以選個簡單點的,用來方便操作canvas繪制,精挑細選后選的是EaselJS,比較輕量,用于繪制canvas,以及canvas的動態效果,
第三步 - 開發
準備
目錄和檔案準備:
| - index.html
| - js
| - | - main.js
| - css
| - | - stylesheet.css
index.html 匯入相關的依賴,以及樣式檔案和腳本檔案,設計是螢屏80%高度為canvas繪制區域,20%高度是操作欄以及展示分數區域.
<!DOCTYPE html>
<html lang="zh">
<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>
<link rel="stylesheet" href=https://www.cnblogs.com/jundong/p/"css/stylesheet.css">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, minimal-ui">
<body>
<script src="https://cdn.bootcss.com/EaselJS/1.0.2/easeljs.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/sweetalert/2.1.2/sweetalert.min.js"></script>
<script src="js/main.js"></script>
