Страницы

Поиск по вопросам

воскресенье, 7 июля 2019 г.

Проблема со считываением клика Android

Здравствуйте. Наткнулся на такую проблему: имею 3 кнопки(ImageButton), необходимо после 1-ого нажатия на одну из кнопок,отследить послеующее нажатие(OnClick) на следующую кнопку(допустим-2).3-я не подойдет. Как отследить первый клик,я понимаю.Но как отследить вторую в нужную позицию,нет P.S. Создаю шахматы,пытаюсь реализовать перемещение фигуры посредством изменения ImageButton по клику


Ответ

@Андр спросил, как программно реализовать перемещение фигур? Я решил написать алгоритм. Начнем!
При нажатии на клетку обращаемся к массиву поля и определяем, какая фигура там стоит. Записываем значение в int1 (пешка - 1, конь - 2, ...) и позицию фигуры в int2 и int3 (лучше в формате двух цифр - к примеру 4 и 2). Если нажатая клетка пуста, ничего не делаем, в противном случае ждем нажатия другой клетки - клетки хода. При нажатии на клетку хода строим switch - смотрим, может ли туда ходить фигура. Тут и пригодится созданный int. Если все правильно, то проводим вторую проверку - занята ли та клетка? Делаем это через массив. Принимаем окончательное решение и производим (или не производим) перемещение фигуры. Изменяем массив фигур. Стоит учесть, чей ход!!!
Стоит заметить - изначально массив создается по правилам шахмат - происходит расстановка фигур. Приведем пример выполнения алгоритма в начале игры.
Пользователь нажал на пешку с позицией D2. Записываем в int1 значение 1, в int2 значение 4, в int3 значение 2 Пропускаем. Проверяем в switch(int1) значение. Так как оно равно 1, то смотрим возможные ходы для пешки. Она удовлетворяет требованиям. Происходит ход и запись новой позиции фигуры в массив.

Комментариев нет:

Отправить комментарий