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

> ВНИМАНИЕ!

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

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





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

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


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

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

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

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


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

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

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


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

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

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

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

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

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

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


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

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


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

 



- Текстовая версия 8.07.2025 10:44
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"