Описание тега bitboard
Битовая доска - это структура данных, обычно используемая в компьютерных системах, играющих в настольные игры.
1
ответ
Не понимая, как работает техника битборда для шахматных досок
Мой мозг курит, пытаясь понять механику этой техники. Чтобы упростить задачу, давайте представим, что вместо шахмат и множества сложных движений фигур у нас есть игра, состоящая только из двух фигур и одного ряда из 8 позиций. Одна часть - это треуг…
02 авг '16 в 18:51
2
ответа
Отразить одномерное представление массива по оси X
Я занимаюсь программированием шахматного ИИ и столкнулся с проблемой, связанной с реализацией таблиц с квадратными фигурами. Так как я хочу иметь только одну квадратную таблицу на каждую сторону, мне нужна функция, чтобы перевернуть одномерный масси…
03 дек '15 в 01:43
3
ответа
Генерация скользящего движения с использованием магического битборда
Это вопрос, касающийся общей картины того, как проверить ход скользящей фигуры в шахматах, используя магические битборды. Просто чтобы уточнить, я не спрашиваю, как магические битборды работают внутри. Теперь немного подробнее по этому вопросу. Я пи…
04 июн '13 в 18:42
1
ответ
Преобразование функции C++ в C#
Я пытаюсь преобразовать функцию C++ в C#, но у меня не получается второй час подряд. Нужна помощь:/ Функция взята из этого вопроса bool haswon(unsigned __int64 newboard) { unsigned __int64 y = newboard & (newboard >> 6); if (y & (y >…
29 апр '17 в 01:44
1
ответ
Битовые битовые операции над 64-битными целыми числами на iPhone 4 и 5?
У меня довольно интересная проблема. Я пишу шахматный движок с использованием битбордов для iOS 7, который я хочу работать на iPhone 4, 4s, 5 и 5s. До сих пор я проводил все свои испытания в симуляторе iOS 64bit для iPhone, но решил запустить его на…
24 фев '14 в 12:42
2
ответа
Как я могу использовать 64-битные переменные без знака в битовых операциях в Clojure?
У меня есть следующий код: (defn BitScanReverse [^Long bit-board] (loop [value bit-board r 0] (cond (> value 0x00000000FFFFFFFF) (recur (unsigned-bit-shift-right value 32) (+ r 32)) (> value 0x000000000000FFFF) (recur (unsigned-bit-shift-right…
28 фев '15 в 20:16
4
ответа
Есть ли дешевый способ "зеркального отражения" битов в байте?
При попытке проверить достижимость по прямой линии без зацикливания, вы можете использовать представление в виде битборда. Представьте себе шахматы, строку или столбец доски, представленные в виде байта, и вопрос, может ли ладья на квадрате X захват…
22 янв '15 в 20:01
1
ответ
BitBoard для шашек в C#
Я изучил битборд, но не смог найти пример того, как будет выглядеть кодирование в C#. Если бы кто-то был так любезен, чтобы проиллюстрировать, как на плате шашек (8x8) будет программироваться 32-битная версия. Я знаю, что есть 64 квадрата, но как вы…
24 мар '15 в 15:35
1
ответ
Обновить битовую доску атаки при обновлении одной атаки
Это всего лишь принцип. Я бы хотел, чтобы атакованный битборд обновлялся при изменении одной из битбордов атаки (коня, слона или пешки) без повторения строки 1. Возможно ли это? Каков наилучший способ сделать это? В классе Борг или просто используя …
02 фев '15 в 00:51
4
ответа
Эффективное представление доски для стратегии настольной игры AI
Будет ли представление в виде доски все еще столь же эффективно в тупой шахматной стратегии, которая имеет менее 64 позиций, или будет более практичной реализация почтового ящика на основе массива? В нашем классе искусственного интеллекта проводится…
06 фев '13 в 04:51
2
ответа
Распознавание шахматной фигуры с битбордами
Когда шахматная доска хранится в различных битбордах, как современные шахматные движки распознают, какой тип / боковая фигура находится в конкретной ячейке? У меня проблемы с этим, так как, чтобы узнать, какой тип / боковая часть есть конкретный бит…
29 июл '15 в 07:01
2
ответа
Луч атакует на доске
Я пытаюсь вычислить лучевые атаки, учитывая индекс представления 64-битной Long board: (defn se [board index] "Produces a ray attack from the indexed bit in the south-east direction" (reduce bit-or (for [bit (rest (range index 0 -7))] (bit-flip boar…
03 май '12 в 16:14
1
ответ
Поколение скользящих фигур в шахматном двигателе
Так что у меня возникли некоторые проблемы, когда я обдумывал проблему. В настоящее время я пишу шахматный движок на Java, основанный на битборде (это было все понятно). Пока что все ходы пешки / короля / коня работают как положено и без ошибок. Что…
11 апр '17 в 16:30
1
ответ
Как вращать центрированный шестиугольный битборд?
Рассмотрим следующее центрированное представление гексагональной панели (заполнение выделено жирным шрифтом): 56 55 49 54 48 42 53 47 41 35 52 46 40 34 28 45 39 33 27 44 38 32 26 20 37 31 25 19 36 30 24 18 12 29 23 17 11 28 22 16 10 04 21 15 09 03 2…
01 сен '18 в 19:21
2
ответа
Условие победы алгоритма Trax
Я пытался реализовать игру Trax на C++. Для тех, кто не знает: http://www.traxgame.com/about_rules.php До сих пор я построил доску и создал правила, в которых я могу разместить свою следующую плитку и какую из них мне разрешено устанавливать. Но сей…
20 апр '15 в 22:56
1
ответ
Битборд: подсчет элементов у соседей
Чтобы представить состояние 2D настольной игры, я использую битборды с 16- битными целыми числами без знака. Состояние кодируется с 1 для присутствия части и 0 в противном случае. Как подсчитать количество фигур, имеющих по крайней мере одну смежную…
19 мар '18 в 14:02
1
ответ
Создание масок битборда для перемещения
Я пытаюсь понять, как работает представление битборта в шахматном программировании, и я не могу найти полезную информацию (или просто не могу правильно ее перевести ^^) об одной детали. Мой вопрос заключается в том, как автоматически генерировать ма…
19 янв '14 в 21:27
1
ответ
Swift 3 uint64 переполняется при попытке назначить 64-битное целое число
Я пытаюсь реализовать битборды в Swift и пытаюсь сохранить 64-битное целое число в UInt64 и получить ошибку переполнения. var white_queen_bb:uint64 = 0001000000000000000000000000000000000000000000000000000000000000 as UInt64; Integer Literal '100000…
15 ноя '16 в 20:07
9
ответов
"Изолировать" конкретную строку / столбец / диагональ от 64-разрядного числа
Хорошо, давайте рассмотрим 64-битное число, биты которого образуют таблицу 8x8. Например 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 1 0 0 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 1 0 1 0 1 0 написано как a b c d e f g h ---…
26 янв '13 в 14:25
1
ответ
Самое быстрое преобразование битборда (5x5)
Для решателя головоломки, который я пишу, я ищу самый быстрый алгоритм (минимальное количество битовых операций) для транспонирования битборда 5x5 с 2 битами на квадрат в головоломке, поэтому: 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18…
21 мар '15 в 22:45