@Bapk

Как сделать так что бы шахматная фигура по клику перемещалась на другую ячейку?

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Переставь фигуры</title>
</head>
<body>
	<table border=6 align="center"><caption>Переставь фигуры</caption>
		<tr><td>3</td> <td><input type="button" name="button1" value=&#9813;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(0,0,button1.value)">
		</td><td><input type="button" name="button2" value=&#9813;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(0,1,button2.value)"></td>
			<td><input type="button" name="button3" value=&#9813;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(0,2,button3.value)"></td>
		</tr> <tr> <td>2</td>
			<td><input type="button" name="button4" value="";
			style="width:50px;height:50px;font-size:32px"onClick="onClick(1,0,button4.value)"></td>
		<td><input type="button" name="button5" value="";
			style="width:50px;height:50px;font-size:32px"onClick="onClick(1,1,button5.value)"></td>
		<td><input type="button" name="button6" value="";
			style="width:50px;height:50px;font-size:32px"onClick="onClick(1,2,button6.value)"></td>
		</tr><tr><td>1</td>
			<td><input type="button" name="button7" value=&#9823;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(2,0,button7.value)"></td>
		<td><input type="button" name="button8" value=&#9823;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(2,1,button8.value)"></td>
		<td><input type="button" name="button9" value=&#9823;
			style="width:50px;height:50px;font-size:32px"onClick="onClick(2,2,button9.value)"></td>
		</tr> <tr> <td> </td> <th>a</th> <th>b</th> <th>c</th> </tr> </table>
        <script>





        	
        </script>

	</body>
	</html>
  • Вопрос задан
  • 383 просмотра
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Можно разделить данные и их отрисовку. Массив «состояния» доски: какая фигура в какой ячейке. Пустая клетка – пустая строка. Клетка с королевой – 'Q'. И функция, которая отрисовывает всю доску, исходя из Состояния.

Для обозначения фигур использовать буквы из шахматной нотации. King = K, Queen = Q, Bishop = B, Knight = N, Rook = R, pawn = p
Понадобится словарь, где ключу фигуры соответствует символ для его отображения.

Каждая ячейка кликабельна. Кнопка в себе хранит координаты X и Y – понадобятся в обработчике клика, общем для всех.
Хранится переменная для предыдущего. Изначально пуста. Если кликнули по фигуре, а «предыдущая» пуста, значит это Первый клик - выбор фигуры для хода.
Второй клик должен выбрать другую ячейку, куда поставить выбранную ранее фигуру, или отменить выделение, если Второй раз выбрана та же клетка, что в Первый.

Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы