GitHub:github.com/ordinaryA/A…javascript
- 雷:emmm 就是一顆雷
- 數字:以當前格爲中心的九宮格內雷的數量
- 空白:以當前格爲中心的九宮格內沒有雷
- 雷:emmmm 遊戲結束
- 數字:顯示當前數字,提示用戶雷的數量
- 空白:須要以當前點擊格子爲中心向外遞歸尋找類型爲數字的格子來中止遞歸,如圖
[x,y]
,則以它爲中心的另八個格子座標爲:const arr = [
//獲取九宮格數據
[x - 1, y - 1], //左上
[x, y - 1], //中上
[x + 1, y - 1], //右上
[x - 1, y], //中左
[x + 1, y], //中右
[x - 1, y + 1], //左下
[x, y + 1], //中下
[x + 1, y + 1] //右下
];
複製代碼
const [maxX, maxY] = this.boardSize; //棋盤的邊界值
const filterArr = arr.filter(
([posX, posY]) =>
!(posX < 0 || posY < 0 || posX >= maxX || posY >= maxY)
);
複製代碼
點擊紅色向外遍歷 => 紫色箭頭 => 綠色箭頭(找到數字格)=> 跳過綠色箭頭的遞歸 => 開始黑色箭頭的遞歸java
emmmm 不要在乎畫風。git
- 只有當旗子數量大於或等於點擊格的數字時才判斷
- 旗子誤插時則分別顯示三種狀態:
正確的雷(正常顯示) 排掉的雷(綠色背景的雷) 錯排的雷(紅色背景的雷)github
const bird = {
top, //鳥的top值
right, //鳥的right值
sports, //記錄運動狀態來更改跳躍和下墜動畫
};
const pipe = {
right, //管道的right值
topPipeTop, //上管道的top值
topPipeSrc, 上管道的資源地址
bottomPipeTop, //下管道的top值
bottomPipeSrc, //下管道的資源地址
isCross, //管道是否已被小鳥經過
};
複製代碼
push
一個管道對象,unshift
掉首項當小鳥經過管道時存在三種狀態數組
isCross
字段,已被小鳥經過。接下來就好辦了,寫一個動畫讓背景和小鳥動起來,設置定時器讓管道動起來,一切就完成啦!數據結構
首先須要定義一個二維數組來存放蛇頭與蛇身的座標dom
[~~(Math.random() * (棋盤寬度 - 蛇長 - 1) + 1),~~(Math.random() * (棋盤高度 - 蛇長 - 1) + 1)];
[[10,10],[10,11],[10,12],[10,13],[10,14]]
while
遍歷出一個不屬於🐍身的座標就行了根據移動的方向使蛇的首項的當前軸座標+1,並刪除蛇集合的尾項,蛇就動起來啦!咱們須要:動畫
接下來能夠給貪吃蛇🐍加上一些因(花)吹(裏)斯(胡)汀(哨)的功能了!this