Quero codificar um jogo de tabuleiro com o nome Okey e muito popular na Turquia. http://en.wikipedia.org/wiki/Okey
Mas eu tenho alguns problemas sobre a IA.
Firslty, deixe-me explicar o jogo ..
O jogo é jogado por 4 jogadores.
Neste jogo, existem 106 peças, 2 delas são brincadeiras falsas. Outras 104 peças são divididas em 4 cores, geralmente verde, preto, azul e vermelho. Todas as cores têm dois conjuntos de peças. Um conjunto contém 13 peças numeradas sequencialmente de 1 a 13.
Cada jogador inicia 14 peças (uma começa 15 e começa primeiro) e lança uma das peças mais indesejadas do próximo jogador. O próximo jogador pode obter esse ladrilho ou outro ladrilho da pilha no meio da mesa. O jogo jogou no sentido anti-horário ..
O objetivo deste jogo é encontrar a sequência válida de 14 peças o mais rápido possível. O jogador pode alinhar ladrilhos por números seqüenciais da mesma cor até 13. Para examinar Verde 1, Verde 2, Verde 3. Há uma exceção aqui, 1 pode ser seguido para 13. Por exemplo, Vermelho 12, Vermelho 13 e Vermelho 1 é um conjunto válido. Mas o vermelho 13, o vermelho 1 e o vermelho 2 não são válidos.
Ou o jogador pode alinhar peças por cores no mesmo número. Por exemplo, Verde 1, Preto 1, Vermelho 1, Azul 1.
Cada conjunto precisa ter 3 ou mais blocos para ser válido e cada um deles definido como "Por". Menos de 3 peças não são válidas para o acabamento. Um conjunto de finalizações válido pode ser assim. G: Verde, B: Azul, R: Vermelho, BL: Preto G1 | G2 | G3 B2 | R2 | BL2 R9 | R10 | R11 | R12 BL13 | R13 | G13
Última coisa, ao iniciar o jogo, uma peça selecionada para determinar o coringa (okey). Por exemplo, se você selecionar Azul 3; O azul 4 será um coringa (okey) e o jogador pode usar esse ladrilho em vez de qualquer ladrilho que o jogador precise para vencer ou concluir um conjunto (por).
É claro que essas regras são regras gerais e resumidas para explicar a pergunta. Se você sabe ler inglês, pode verificar este link para obter mais informações http://tr.wikipedia.org/wiki/Okey ou página traduzida pelo Google Translate http://translate.google.com/translate?js=n&prev=_t&hl= pt-br = ie UTF-8 & layout = 2 & eotf = 1 & sl = tr & tl = pt-br & u = http: //tr.wikipedia.org/wiki/Okey
Então, qual algoritmo de IA que eu posso usar? Procurei a teoria do minimax e a poda alfa beta. Mas essas teorias geralmente são de dois jogadores, como xadrez ou tic-tac-toe.
A pergunta original está em stackoverflow: /programming/4419628/creating-a-board-game-ai
fonte
Respostas:
Se você trocar peças por cartas, a descrição do jogo soa incrivelmente semelhante ao jogo de cartas Gin Rummy. Você pode encontrar alguns recursos diretos de IA pesquisando isso.
Uma opção para a IA que é independente do número de jogadores e pode ser usada para criar diferentes personalidades da IA:
Você pode controlar a dificuldade nem sempre selecionando a opção de classificação mais alta. Como quanto menor a pontuação, pior a decisão.
fonte