微信小程式 元宵燈籠連連看小遊戲

2021-08-16 06:52:11 字數 1608 閱讀 7453

演示效果: 

開發工具:

主要的邏輯:

b、用乙個二維陣列(各個方向均比陣列大1)儲存的狀態值,搜尋路徑時對映到這個陣列搜尋;

c、搜尋順序:

/**

* 直連

*/matchblockline: function (x1, y1, x2, y2)

if (x1 == x2)

var ymin = math.min(y1, y2) + 1;

var ymax = math.max(y1, y2);

for (ymin; ymin < ymax; ymin++)

}} else if (y1 == y2)

var xmin = math.min(x1, x2) + 1;

var xmax = math.max(x1, x2);

for (xmin; xmin < xmax; xmin++) }}

return true;

},

/**

* 乙個轉角

* 搜尋到路徑時,返回轉角座標 x3, y3

*/matchblockcorner: function (x1, y1, x2, y2, isaxis_x)

// 轉角點1 (x1, y2),y方向 if (this._canvasgrids[x1 + 1][y2 + 1] <= this._type_init && isaxis_x != false)

}// 轉角點2 (x2, y1),x方向 if (this._canvasgrids[x2 + 1][y1 + 1] <= this._type_init && isaxis_x != true)

}return null;

},/**

* 轉角邏輯

*/matchblockcorner_point: function (x1, y1, x2, y2, x3, y3)

}return null;

},/** * 兩個轉角

* 搜尋到路徑時,返回兩個轉角點座標 x3, y3, x4, y4

*/matchblockunfold: function (x1, y1, x2, y2)

}// 下

x3 = x1;

y3 = y1 - i;

if (candown && y3 >= -1)

}// 左

x3 = x1 - i;

y3 = y1;

if (canleft && x3 >= -1)

}// 右

x3 = x1 + i;

y3 = y1;

if (canright && x3 <= this.rows) }}

return null;

},/**

* 某個方向上的搜尋邏輯

*/matchblockunfold_axis: function (x1, y1, x2, y2, x3, y3, isaxis_x)

}return null;

},

參考資料

連連看小遊戲,遞迴問題

題目源自 程式設計實習 12章 遞迴問題。思路根本方式是遞迴,走迷宮類問題,處在每一步上都要列舉下一步的方向,用move陣列來儲存行進方向。另外用mark陣列來儲存是否訪問過 開始用puzzle陣列來表示板子分布,然後在外面多加一圈來輔助計算。遞迴函式關鍵在於每一次呼叫時,先判斷 當前步數是否大於最...

連連看小遊戲前端實現

先看一下遊戲的介面 一點選開始,遊戲就開始計時,頂部的折扣會飛速上公升,如果玩家玩的速度太慢的話那麼只能拿到乙個他都不想要的折扣了,呵呵 開始 span div div var gridw document.width 7 每乙個格仔的寬度,根據螢幕的寬度來定,做到自適應 var gridh doc...

連連看小遊戲專案梳理

如何保證每個元素都能找到配對的元素並且遊戲可以開始進行?直接相連的元素,需要拐乙個彎的元素,需要拐兩個彎的元素 如果有拐角的話,拐角的線是怎麼畫出來的 路徑是怎麼找到的?直接相連的元素 屬於同一行和同一列上的 需要拐乙個彎的 在乙個矩形的對邊的位置上,找到矩形的另外一組對角線,判斷before el...