IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Игра "Шашки" на Delphi., Как осуществить передвижение шашек?
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской
Реальное имя: Дмитрий Кожевников

Репутация: -  0  +


Здравствуйте! smile.gif

У меня имеется массив целых чисел, состоящий из: 0 - пустая клетка, 1 - чёрные, 2 - белые. Как мне осуществить передвижение шашек?

Я думаю, сделать при нажатии на шашку так, чтобы запомнились её координаты I и J. Потом при нажатии на то место, куда я хочу её переместить, I и J обменивались с конечными, и перерисовать поле. Только как это организовать - понятия не имею!

Помогите, люди добрые, советом! Может тут совсем другой алгоритм нужен? rolleyes.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> 1) надо для начала проверять, разрешен ли ход из ячейки №1 в ячейку №2

Это чуть сложнее.
Потому что надо проверять, нет ли необходимости бить, и если есть, то искать максимум. То есть искать траекторию максимального взятия, и чтобы она не трогала одну шашку дважды.

> У меня имеется массив целых чисел, состоящий из: 0 - пустая клетка, 1 - чёрные, 2 - белые. Как мне осуществить передвижение шашек?

В новое место прописать значение старого, в старое - прописать ноль.

Вообще у меня есть реализация шашек, мой тупой бот, скотина, дерёт меня на сложном уровне 4:1.
Правда, она написана в стиле "моноблок", так как программа маленькая, и из-за этого моноблока читать очень тяжело.

Ссылка вот (с исходниками):
http://tarasber.narod.ru/Draughts.rar

Сообщение отредактировано: TarasBer -


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Diman   Игра "Шашки" на Delphi.   3.05.2011 16:35
IUnknown   В чем конкретно проблема? Не можешь поменять места…   3.05.2011 16:58
TarasBer   > 1) надо для начала проверять, разрешен ли ход…   3.05.2011 17:37
Diman   Спасибо за помощь! Я просто не по зубам игру в…   10.05.2011 10:48
TarasBer   Ну я что-то такое как-то написал: есть поле 8х8, д…   10.05.2011 14:16
Lapp   Я так и не понял все же - нужна играющая программа…   10.05.2011 14:27
Гость   Я так и не понял все же - нужна играющая программ…   10.05.2011 17:41
Lapp   Нужна игровая программа. Игра в общем, но только л…   11.05.2011 16:11
TarasBer   > Но создание ИГРАЮЩЕЙ программы в такую игру, …   11.05.2011 16:17
Lapp   Если есть функция, возвращающая множество допустим…   11.05.2011 16:26
TarasBer   > Ага, поэтому нормальные люди и играют в стокл…   11.05.2011 18:29
Lapp   И такой вариант в моей программе предусмотрен. Есл…   12.05.2011 7:59
TarasBer   > А ты сам хорошо играешь? Во 2 классе получил…   12.05.2011 14:01
Lapp   Ну вот, а я на своём селероне-600 аж 2 секунды жда…   12.05.2011 15:25
TarasBer   > Сделал бы ты анимацию, что ли.. Это намного …   13.05.2011 15:31
Lapp   Это намного сложнее. ... Это намного сложнее, как …   13.05.2011 15:56
TarasBer   > Вот, кстати, что реально неплохо б: выставлят…   13.05.2011 16:44


 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 17.06.2024 10:20
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name