Я делал свою программу давным-давно здесь как универ-проект, по крайней мере, он работает в некоторой степени (вы можете попробовать уровень Обезьяны и Новичка :)).
IЯ хотел бы переработать и повторно внедрить его, чтобы попрактиковаться в структуре данных и алгоритме.
В моем предыдущем проекте поиск мин-макс и альфа-бета-отсечение были недостающей частью, а также недостаткомоткрытия словаря.
Поскольку игровая доска симметрична как по горизонтали, так и по вертикали, мне нужна лучшая структура данных, чем мой предыдущий подход:
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 11 12 13 14 15 16 17 18 -1
-1 21 22 23 24 25 26 27 28 -1
-1 31 32 33 34 35 36 37 38 -1
. . . . . .
Таким образом, можно легко вычислитьсоседние позиции с любым значением ячейки, подобным этому:
x-11 x-10 x-9
x-1 x x+1
x+9 x+10 x+11
Эти -1 действуют как «стены» для предотвращения неправильных вычислений.
Самая большая проблема заключается в том, что она не учитываетсимметричная / ориентация, т. е. одно и то же отверстие, как параллельное отверстие, будет иметь 4 соответствующих случая открытия в базе данных, по одному для каждой ориентации.
Любое хорошее предложение?Я также собираюсь попробовать ruby, чтобы иметь более быструю скорость вычислений, чем PHP (только для минимального и максимального альфа-бета-сокращения, если я запрограммирую его на n шагов вперед).
Большое спасибо запредложения заранее.