Console.Write("Hello World!");
Introdução:
Olá pessoas, como vão? Hoje estou aqui para mostrar a vocês uma aplicação que estou desenvolvendo no Visual Studio, utilizando como linguagem o C#.
Esta aplicação está sendo criada para um tutorial futuro sobre POO e lógica de programação, mas por enquanto que o tutorial não está sendo escrito, gostaria de mostrar uma prévia do que já tenho feito.
Multimídia:
E como imagens valem mais que palavras, e vídeos mais que imagens:
[youtube]http://youtu.be/uo9stTDwAik[/youtube]
O que tem na aplicação:
Por enquanto a ideia é o jogo ser apenas entre dois jogadores (sem as duplas) e como é offline, o outro jogador é uma inteligência artificial.
A aplicação segue as regras do truco paulista (clique aqui se não sabe como jogar truco!), mas ainda pretendo adicionar a possibilidade de aumentar a aposta da mão para 6, 9 ou 12, porque ainda estou estudando como a I.A está realizando as jogadas e apostas.
O jogo já possui: Possibilidade de jogar as cartas da mão à mesa, distribuição aleatória das cartas do baralho para os jogadores, definição aleatória da manilha através da vira, contagem de pontos, verificação de vitórias e empates, possibilidades de pedir/aceitar ou negar truco, I.A com escolhas lógicas que dependem da situação corrente e possibilidade de cobrir a carta caso deseje.
Toda vez que é feito um pedido de truco (tanto por nós, quanto pela IA) uma mensagem diferente e "provocante" aparece. Aliás, estou aceitando sugestões de mais frases que podem aparecer nessas circunstâncias. :XP:
Como a I.A funciona:
A inteligência artificial tem a capacidade de jogar as cartas conforme a situação atual: Se está perdendo vai tentar vencer e se está ganhando vai empatar ou matar a rodada.
Ela também pode analisar a possibilidade de pedir truco dependendo de como está a rodada e também das cartas que tem nas mãos. Também possui uma pequena chance de blefar, para deixar o jogo mais interessante e também porque nós, seres humanos, também blefamos neste jogo.
Com relação a aceitar os nossos pedidos de truco, ela pode aceitar caso tenha certeza que possa vencer, mas existe 30% de chance dela aceitar apenas pra tirar a prova se você está blefando (Ainda preciso estudar se esta porcentagem está muito alta). Com exceção dessas duas possibilidades, ela vai negar o pedido se não tiver cartas ao seu favor.
Quando a mão é da I.A ela pode optar por jogar sua carta mais fraca ou sua carta mais forte, por isso nós nunca saberemos quais cartas ela pode ter na mão.
Atualizações finais:
Enfim creio ter terminado o desenvolvimento desta aplicação (assim espero, caso não encontrem nenhum bug).
As atualizações finais foram estas: (06/01/18):
> Melhorias nas jogadas da I.A, agora tendo mais caminhos lógicos a percorrer, conforme a rodada atual e chances de ganhar/perder;
> Maior equilíbrio nos pedidos (ou aceitações) de truco por parte da I.A, que antes estava aceitando/pedindo arbitrariamente. Agora ela tem uma certa possibilidade de aceitar ou pedir truco;
> Possibilidade da I.A jogar a carta virada para baixo, caso julgue que a mesma não irá diferenciar em nada na jogada;
> Sistema de aumento de apostas (agora dá para pedir 6, 9 ou 12!) -> A I.A também tem a capacidade de dobrar a aposta, se desejar;
> Por conta da adição anterior, agora temos um contador de apostas que mostra qual o valor da aposta atual;
> Para o jogo não ficar tão silencioso, agora áudios são reproduzidos quando algum pedido de aposta for solicitado;
> Novas frases quando se pede TRUCO;
> O jogo se inicia em fullscreen, mas pode ser minimizado ou se ajustar a um tamanho menor na tela;
> Correções de vários bugs na aplicação (principalmente um que fazia a I.A 'travar' se tivesse recebido 3 cartas repetidas na mão);
Baixe em anexo:
Caso queria ver como a aplicação está funcionando (e reportar algum tipo de bug) eu deixei o executável em anexo, você só precisa ter a versão 4.0 ou superior do .Net Framework instalada em sua máquina para poder rodá-la.
Eu também estou disposta a mostrar a codificação desta aplicação antes da postagem do tutorial, basta me pedir por MP (só não garanto que você entenda o que tem lá, apesar de alguns comentários).