Как оценить соединять четыре игры ситуации в Java

голоса
0

Я пытаюсь написать простой AI для игры «Получить четыре». Основные принципы игры сделаны, так что я могу бросить в монеты разного цвета, и они складывают друг на друга и заполнить 2D массив и так далее, и так далее. до сих пор это то, что метод выглядит следующим образом:

public int insert(int x, int color)  //0 = empty, 1=player1 2=player2

X является горизонтальной координаты, а координата у определяется, сколько камней в массиве уже, я думаю, что идея очевидна.

Теперь проблема я должен оценить конкретные игровые ситуации, поэтому найти сколько новых пар, тройни и возможно 4 подряд я могу получить в конкретной ситуации , то дать каждой ситуации определенное значение. С помощью этих значений можно настроить «Игра дерево» , чтобы решить , какой шаг будет лучше в следующем ( в дальнейшем реализации альфа-бета-Обрезка). Моя нынешняя проблема в том , что я не могу думать о эффективном способе реализации рейтинга текущей игровой ситуации в методе Java.
Благодарим за любую идею!

Задан 10/12/2008 в 01:05
источник пользователем
На других языках...                            


3 ответов

голоса
4

Я предполагаю, что это домашнее задание, и что вы имеете в виду вы хотите написать функцию оценки и не знаете, какие приемы использовать?

Игра называется «Connect 4» на английском языке, так что вы можете Google для «подключения 4 функции оценки».

Вы можете найти достаточное количество людей для обсуждения эвристики.

Пожалуйста, не копируйте фактический исходный код, это важное упражнение :)

Ответил 10/12/2008 в 01:27
источник пользователем

голоса
1

Пространство поиска для Connect 4 не невероятно большой. Для простой реализации, хотя тот, который займет некоторое время, чтобы работать (возможно, десятки минут) сделать минимаксный поиск пока кто-то выигрывают, или игра заканчивается. Назначают +1 или -1 для выигрыша для одного игрока или другого, и 0 на ничью.

Ответил 10/12/2008 в 11:04
источник пользователем

голоса
0

ерунда. пространство поиска огромно. вам нужно использовать предопределенные таблицу, если вы хотите, чтобы сделать это.

Ответил 05/02/2009 в 19:33
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more