опубликован 19-01-2002 07:57 MSK Пишу шахматную программу. ДАНО: 1. каждая клетка типа BYTE (unsigned char) 2. Шахматная доска определена как массив: BYTE board[64]
ВОПРОС: для любой шахматной позиции нужен УНИКАЛЬНЫЙ (что-то вроде MD5, но проще и быстрее) 64-битовый ключ. Какие будут предложения ? Решение с выборкой случайных бит уже сделал, так что его можно не предлагать.
DimaK
опубликован 19-01-2002 13:58 MSK
Ничего не понял что md5 что за индекс дока 8х8 i*8+j однозначно определяет позицию а k*7+i*8+j еще и фигуру а вообще в Borland c++5.0 есть в примерах в разделе игры полностью рабочий пример шахмат причем играет комп на уровне
DimaK
опубликован 19-01-2002 14:06 MSK
Ничего не понял что md5 что за индекс дока 8х8 i*8+j однозначно определяет позицию а k*7+i*8+j еще и фигуру а вообще в Borland c++5.0 есть в примерах в разделе игры полностью рабочий пример шахмат причем играет комп на уровне
Student
опубликован 19-01-2002 14:32 MSK
MD5 (Message-Digest Algorithm) - сокращение алгоритма, который создает контрольную сумму файла (строки и т.д.), утилита md5sum в *nix. Про готовые программы знаю, есть много исходников, но хочется создать что-нибудь свое.
DimaK
опубликован 19-01-2002 15:32 MSK
если ты хочешь произвольную композицию закодировать так 64 бита не хватит для композиции 64+6*п где п количество фигур на доске
Student
опубликован 20-01-2002 08:46 MSK
По-моему, надо максимум 256 бит если принять: 1. на позицию 4 бита (т.е. 1 байт = 2 смежные позиции на доске) 2. 64 позиции (клетки) на доске
Я спросил про 64 бита т.к. может эти 256 бит ужать можно: ведь большая часть доски обычно пуста.