Duvida Algoritmo Jogo Cartas

3 respostas
F

Ae galera,

estou criando um programa que calcula a melhor jogada possivel num jogo de cartas. O jogo é “escoba”, nao vou explicar todas as regras aqui mas basicamente é assim:

  • cada jogador recebe 3 cartas e no começo 4 cartas sao postas na mesa.
  • se a soma de uma das cartas que voce tem na mao junto com qualquer numero de cartas da mesa der 15 vc fica com as cartas para voce e é a vez do seu adversário.
  • depois de usar todas as 3 cartas vc pesca mais 3 e assim vai até acabar as cartas.
  • se na sua vez voce pegar todas as cartas da mesa voce ganha um ponto.

Calcular com quais cartas é possivel fazer 15 é facil, o problema é que diversos fatores influenciam qual a melhor jogada.

Eu acredito que deveria usar algo relacionado a IA como neural networks, grafos, etc. Mas IA é um campo tao vasto que eu to meio perdido. Alguem tem uma luz sobre pra que lado eu devo seguir ?

valeu

ps: se precisarem que eu explique melhor é só falar.

3 Respostas

davidbuzatto

Ops, falei besteira. É o sono.

davidbuzatto

Como você tem um conjunto de regras bem definidos, eu acho que uma simulação resolve seu problema.
Simule o jogo completo e vá marcando as melhores jogadas (a partir do critério que você adotou como melhor jogada).
No final, mostre a melhor jogada.

F

ae davidbuzatto,

entao, eu queria calcular a melhor jogada para cada mao, para depois fazer o programa jogar sozinho contra alguem.

cada mao tem uma melhor jogada dependendo do contexto do jogo, vou dar um exemplo.

supondo que na mesa tenha:

4 3 5

e minha mao seja:

10 9

eu poderia pegar o 5 com o 10 mas estaria arriscado deixar 7 na mesa e se meu adversario tiver um 8 ele vai pegar todas as cartas da mesa e fara um ponto e por isso a melhor jogada seria jogar o 9 na mesa e nao pegar nada.

porem, se eu souber que todos os 8 ja foram utilizados eu posso pegar sem medo, ou se tem apenas mais um no baralho a probabilidade de ele ter um é menor.

outra fator é que na contagem dos pontos quem tiver mais cartas de ouro ganha um ponto tambem, quem tiver mais 7 ganha outro ponto dentre outras coisas.

por isso esta sendo dificil pensar em um algoritmo que calcule a melhor jogada.

Criado 9 de fevereiro de 2012
Ultima resposta 10 de fev. de 2012
Respostas 3
Participantes 2