0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 11
|
|
1 | |
часть алгоритма игры в уголки16.01.2012, 22:56. Показов 2602. Ответов 2
Метки нет (Все метки)
Здравствуйте, изучаю алгоритмы теории игр, на примере игры в уголки.
Данные о позиции представляю в виде 64 разрядных битовых переменных. (сначала думал о массиве из 64 значений, каждое из которых определяет состояние поля) Позицию какой-нибудь фигуры определяю как 0b000000001000000 где 1 в разряде там где стоит фигура (если представить доску как доску не 8x8, а 64x1). Возможность обычного хода каждой фигуры определяю так: определяю двоичное слово теоретически возможных ходов фигуры в позиции а: b=(a>>1)+(a<<1)+(a>>8)+(a<<8)-a (разумеется проверяя на окончание доски) c - слово текущей позиции и определяю d=b(ФУНКЦИЯ)с, где ФУНКЦИЯ - отрицание импликации) - т.е. она дает в разряде 1, когда теор. ход возможен (1 ), а поле пустое (0) Но встала проблема как реализовать скачки. Думал сделать "кресты" теор. возможных ходов: b=(a>>1)+(a<<1)+(a>>8)+(a<<8)-a+(a>>2)+(a<<2)+(a>>16)+(a<<16) и действовать по вышеописанной функции, но тогда в случае если в одном направлении два поля пустые, то он заполнит оба их единицами. Как можно легко пофиксить эту проблему (голова уже не варит, записал больше для себя - но вдруг будет простое решение)? Заранее спасибо
0
|
16.01.2012, 22:56 | |
Ответы с готовыми решениями:
2
если у кого есть киньте исходники на шашки и на любые игры в том же стиле(типа уголки и т.д) Определение алгоритма оптимальной игры Реализация алгоритма игры пятнашки Лагнутость игры в графике и неправильная работа правильного алгоритма |
476 / 444 / 34
Регистрация: 20.11.2009
Сообщений: 1,293
|
|
17.01.2012, 07:58 | 2 |
А как, интересно, вы собрались в одном бите хранить информацию о том, в каком одном из трех состояний находится клетка (пустая, белая, черная)?
Бр, или у вас каждая фишка хранится отдельным 64-битным числом?
0
|
0 / 0 / 0
Регистрация: 30.05.2011
Сообщений: 11
|
|
17.01.2012, 10:32 [ТС] | 3 |
Каждая фишка отдельным числом (поведение каждой фишки абсолютно одинаково), но при этом каждая фишка принадлежит одному из двух массивов (белая или черная).
Кстати уже решил проблему, могу закрывать тему
0
|
17.01.2012, 10:32 | |
17.01.2012, 10:32 | |
Помогаю со студенческими работами здесь
3
Составить блок-схему алгоритма и программу для задачи игры в карты Как реализовать графическую часть игры морской бой Первая часть игры call of duty странно работает. КА: Client programmer (клиентская часть игры), МСК, ЗП ~ 110, готовы обсуждать Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |