我有一個由網格拼成的網格。有10行,總共有10個瓷磚。這在網格中總共有100個瓦片。JavaScript遊戲網格拼貼選擇
當點擊任何圖塊時,我想要突出顯示點擊圖塊周圍的圖塊。突出顯示的瓷磚應該從點擊的瓷磚開始離開並向外擴散,離被點擊的瓷磚最多2個瓷磚。
到目前爲止,我已經設法讓瓷磚頂部,右側,底部和左側突出顯示,但我仍然錯過了這些瓷磚。形狀應該在被點擊的瓷磚周圍形成鑽石。
該解決方案必須是可擴展,允許更大的網格和瓷磚的更大的移動距離。
這是目前我在做什麼:
var Move = function() {
var that = this;
this.grid = {
width: 10,
height: 10
};
this.showMoveableTiles = function() {
var movableTiles = 2;
var row = $(this).data('row');
var tile = $(this).data('tile');
$('.tile').removeClass('moveable');
// Left
$(this).prevAll('[data-row="' + row + '"]:lt(' + movableTiles + ')').addClass('moveable');
// Right
$(this).nextAll('[data-row="' + row + '"]:lt(' + movableTiles + ')').addClass('moveable');
for (var i = 1; i <= movableTiles; i++) {
// Top
$('[data-row="' + (row - i) + '"][data-tile="' + tile + '"]').addClass('moveable');
// Bottom
$('[data-row="' + (row + i) + '"][data-tile="' + tile + '"]').addClass('moveable');
}
};
};
var move = new Move();
$(document).on('mousedown', '.tile', move.showMoveableTiles);
什麼是實現這一目標的最佳途徑?
謝謝,但這不是我追求的。應該突出顯示離被點擊的圖塊2或更少的圖塊。 – Enijar
啊所以你把距離定義爲越界? –
是的。最終的形狀看起來像鑽石。某事[像這樣](http://i.imgur.com/59EpZDP.png)。 – Enijar