Como avaliar uma situação de quatro jogo de conexão em Java

votos
0

Estou tentando escrever um simples AI para um jogo Get quatro. Os princípios básicos do jogo são feitas, para que eu possa jogar em moedas de cor diferente, e eles empilhar uns sobre os outros e preencher uma matriz 2D e assim por diante e assim por diante. até agora é isso que o método se parece com:

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

X é a coordenada horizontal, como a coordenada y é determinada por quantas pedras estão na matriz já, eu acho que a idéia é óbvia.

Agora o problema é que eu tenho para avaliar situações de jogo específicas, assim que encontrar quantos novos pares, trigêmeos e possível 4 em linha posso entrar em uma situação específica, em seguida, dar a cada situação um valor específico. Com estes valores posso configurar uma árvore de jogo para então decidir qual movimento seria melhor próxima (mais tarde na implementação Alpha-Beta-Poda). Meu problema atual é que eu não consigo pensar em uma maneira eficiente de implementar uma avaliação da situação de jogo corrente em um método java.
Alguma idéia seria muito apreciada!

Publicado 10/12/2008 em 01:05
fonte usuário
Em outras línguas...                            


3 respostas

votos
4

Eu estou supondo que este é um trabalho de casa, e que você quer dizer que você quer escrever a função de avaliação e não sei o que truques de usar?

O jogo é chamado de "Connect 4" em Inglês, para que possa Google por "função de avaliação conectar 4".

Você pode encontrar o suficiente heurísticas pessoas de discussão.

Por favor, não copiar um código de fonte real, é um exercício importante :)

Respondeu 10/12/2008 em 01:27
fonte usuário

votos
1

O espaço de busca para Connect 4 não é incrivelmente grande. Para uma implementação simples, embora um que vai demorar um pouco para funcionar (talvez dezenas de minutos) fazer uma busca minimax até que alguém ganhe, ou o jogo termina. Atribuir uma ou -1 para uma vitória de um jogador ou o outro, e 0 para um empate.

Respondeu 10/12/2008 em 11:04
fonte usuário

votos
0

besteira. espaço de busca é enorme. você precisa usar uma tabela predefinida, se você quiser fazer isso.

Respondeu 05/02/2009 em 19:33
fonte usuário

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