skywalker,
эх...добрая моя душа.
Короче, посмотри в мой код(он конечно не идеален, но..), авось разберешься, там конечно ужас полный, коменты так, для приличия.
Тебе понадобиться:
1) Ф-ия создания матрицы (тэйбла)
function createTable(x, y) {
window['x'] = x
window['y'] = y
var all = x * y
var all2 = 0;
document.write('<table id="tetris">')
for (i = 0; i < y; i++) document.getElementById('tetris').innerHTML += "<tr id='tr" + i + "'></tr>";
for (i = 0; i < y; i++) {
for (k = 0; k < x; k++) {
all2 += 1;
document.getElementById("tr" + i).innerHTML += "<td id='td" + all2 + "'>" + w_sq + "</td>"
}
}
}
Она сделана так, что все ячейки пронумерованы: с ид: td1,td2,td3...td(x*y). P.S. x*y - последняя ячейка (макс).
2)Далее...у меня есть массив, в котором содераться координаты данной фигуры, в твоем случае цели: условно: 4. Это будет означать, что цель(если она размером в одну ячйку) Находиться в document.getElementById('td4')
3) При каждом перемещении цели, ты должен очищать экран:
function clear() {
for (i = 0; i < td_id.length; i++) {
document.getElementById('td' + td_id[i]).innerHTML = w_sq
}
}
, где w_sq - это: "<div style='background:#D3D3D3;height:15px;width:15px;' ></div>". То бишь белая ячейка
4) После ты уже узнал куда переместиться твоя цель (допустим -2 - влево). Ты: координаты уменьшаешь на 1. Становиться 4-1=3. И document.getElementById('td'+твои координты).innerHTML = sq, где твои координаты, мы уже посчитали: 3. А sq - "<div style='background:red;height:15px;width:15px;'></div>"
5) Перехватчик перемещаешь аналогично. Я хз он у тебя там стреляет, не стреляет, пускай он тупо также перемещается условно.
6) Ставишь все это в var inter = setInterval(function () { //code.. },1000) А когда координаты перехватчика == координты цели, то clearInterval(inter). То бишь перехватчик достиг цели.
==========
Правда как сказал,
Deff, не учитывает, что перехватчик может двигаться под углом 45 градусов.