• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ziwdon

[Closed Source] TicTacToe (Jogo do Galo)

16 mensagens neste tópico

Boas.

Aqui fica o meu primeiro projecto neste forum.

É o simples Jogo do Galo criado em Visual Basic .net.

O jogo usa apenas imagens e o windows, pelo que não recorre à placa gráfica nem nada do género. Não precisa de instalação nem nada...é muito simples.

Uma vez que me estou a inicar em Game Development, decidi criar o jogo do galo apenas para ver se conseguia criar uma boa IA.

Para isso, fiz uma pesquisa no google e apareceu uma ideia que pus logo em pratica. Todo o código foi criado por mim, nada foi tirado da net.

Apenas recorri à net para ver como uma IA de um jogo do galo deve pensar e actuar. Tambem tive a ajuda de alguns membros aqui do forum (marinheiro, Nazgulled, e inginheiiro) numa altura em que queria por as imagens nos resources e nao estava a conseguir.

O jogo tem 4 niveis de dificuldade.

No primeiro, no "Easy", a IA faz jogadas ao calhas, ou seja, independentemente de onde jogarem ou da situação a IA joga numa casa ao calhas.

No segundo, no "Normal", a IA analisa a situação depois de cada jogada e atribui prioridades a cada casa. A casa com prioridade mais alta, é a casa onde joga.

No terceiro, no "Hard", a IA actua do mesmo modo que no "Normal", mas não se deixa cair naqueles truques que a malta conhece.

Por fim, o "Very Hard", que é igual ao Hard mas o PC joga primeiro.

Foi um projecto interessante, e não se admirem se acharem nalguns casos muito dificl, uma vez que o objectivo era mesmo desenvolver uma boa IA.

Penso que não ficou má...

O programa foi testado varias vezes, contudo é possivel que existam alguns bugs...se tal acontecer agradecia que me avisassem.

Criticas e comentários são bem vindos.

Obrigado e fiquem bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a AI de um jogo do galo é facil, porque sao poucas jogadas

graficamente podia tar melhor, mas em termos do objectivo que é jogar ta bom

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O jogo está muito fiche

o problema é que é impossível perder ou ganhar no  jogo do galo (só por distração), jogue quem jogue primeiro. No very Hard em 20 jogos gahnei um e empatei 19, supostamenente não deveria ter ganho nenhum dado o computador não ter distrações

Isto não invalida o excelente esforço que fizeste em desenvolver o jogo ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

a AI de um jogo do galo é facil, porque sao poucas jogadas

Eu estou-me agora a iniciar em Game Development. Tenho de começar com coisas faceis. :)

graficamente podia tar melhor, mas em termos do objectivo que é jogar ta bom

O objectivo era mesmo só a AI. Estou agora a começar a dedicar-me à parte gráfica.

Que tecnicas utilizaste?

Como disse fiz um sistema de prioridades. A IA analisa a situação depois de cada jogada e atribui prioridades a cada casa. A casa com prioridade mais alta, é a casa onde joga. Se houver duas casas com a mesma prioridade joga numa das duas. Depois existem jogadas chave, que é quando estás prestes a perder ou a ganhar. A prioridade nestes casos torna-se mais alta.

Tas pronto para fazer um jogo de xadrez?

Hmm...nao acho que ja esteja pronto para tal. Nao so pela complexidade da IA mas tambem pelo ambiente grafico que já tem de ser um pouco mais avançado.

Neste momento estou a fazer aquele jogo das bolas tipo tetris, em que vamos disparando bolas (para cima) e quando houver x bolas da mesma cor elas rebentam.

Quando terminar tentarei fazer um do género do Breakout. Depois ainda nao sei...qualquer coisa mais avançada tipo super mario (classico). Mas isto é se correr tudo bem e se conseguir chegar onde pretendo. Até la ainda falta muito.

O jogo está muito fiche

o problema é que é impossível perder ao jogo do galo (só por distração), jogue quem jogue primeiro. No very Hard se o pc não coloca a cruz num dos cantos perde, se coloca empata.

Isto não invalida o excelente esforço que fizeste em desenvolver o jogo ;)

Obrigado.

Claro que nao é a IA nao esta invencivel...eu tambem consigo vencer ao pc. Mas que jogadas fazes?

É aquele truque dos cantos né? Podia alterar a prioridade, mas pronto...tambem nao quero tornar o jogo impossivel :D

Obrigado a todos pelos comentários.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado.

Claro que nao é a IA nao esta invencivel...eu tambem consigo vencer ao pc. Mas que jogadas fazes?

É aquele truque dos cantos né? Podia alterar a prioridade, mas pronto...tambem nao quero tornar o jogo impossivel :D

ya o truque dos cantos  ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tas pronto para fazer um jogo de xadrez?

Hmm...nao acho que ja esteja pronto para tal. Nao so pela complexidade da IA mas tambem pelo ambiente grafico que já tem de ser um pouco mais avançado.

Neste momento estou a fazer aquele jogo das bolas tipo tetris, em que vamos disparando bolas (para cima) e quando houver x bolas da mesma cor elas rebentam.

Quando terminar tentarei fazer um do género do Breakout. Depois ainda nao sei...qualquer coisa mais avançada tipo super mario (classico). Mas isto é se correr tudo bem e se conseguir chegar onde pretendo. Até la ainda falta muito.

Não precisas de fazer nada no aspecto gráfico. Basta usar uma interface já existente para este tipo de motores.

Aprende-se bastante de AI fazendo um motor de xadrez.

Quando chegar a casa, se me lembrar coloco aqui código de um motor que fiz. Já foi á algum tempo e na minha opinião actual até está muito mau, tendo em conta que na altura pouco sabia de AI.

Até gostaria de refazer o código se tivesse tempo, mas tinha de começar tudo de novo para que fique mesmo bem.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por exemplo um 4 em linha é mais dificil do que o jogo do galo, e mais facil que o xadrez

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esta bom, mas acho que deverias fazer em português, que é a nossa lingua !

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas .

está mt bom :P

tens é que melhorar a AI.

ganho sempre.

/ing

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Esta bom, mas acho que deverias fazer em português, que é a nossa lingua !

Sim também acho, não tinha reparado neste tópico antes... :-[

Parabéns. Podia era em vez de clicar sempre para jogar de novo, quando acabássemos um jogo iniciar de seguida um novo (Dá muito trabalho... :P)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boas .

está mt bom :P

tens é que melhorar a AI.

ganho sempre.

/ing

:eek:

Esta bom, mas acho que deverias fazer em português, que é a nossa lingua !

Sim também acho, não tinha reparado neste tópico antes... :-[

Parabéns. Podia era em vez de clicar sempre para jogar de novo, quando acabássemos um jogo iniciar de seguida um novo (Dá muito trabalho... :P)

lol ok...posso fazer isso.

Quanto à lingua...como o projecto foi postado em diversos locais fiz em ingles. Para alem disso penso que uma vez que é a linguagem universal é a que deve ser utilizada, a nao ser claro que seja um projecto para uso pessoal ou assim.

Faço sempre tudo em ingles...até os comments no codigo (que só eu é que leio normalmente) ;).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites