A downloadable project

1. Introdução

Este projeto realizado na disciplina de Estrutura de Dados, oferecida no curso de Design de Jogos da Universidade do Vale do Itajaí (Univali), campus Florianópolis, é uma simulação de um jogo de poker, que inclui funcionalidades de teste para validar as regras do jogo, implementado em C# no Visual Studio Code. O objetivo principal é aplicar os conceitos teóricos e práticos aprendidos na disciplina, integrando-os em um projeto de software completo.

2. Desenvolvimento

O desenvolvimento do projeto seguiu uma metodologia incremental e iterativa, dividida nas seguintes etapas:

Planejamento e Análise; Implementação das funcionalidades básicas, seguindo o princípio de desenvolvimento orientado a objetos; Criação de testes automatizados para validar o comportamento do jogo e garantir a correção das regras de poker; Ajustes e melhorias baseados no feedback dos testes.

2.1 Conceito 

O Texas Hold’em é um jogo de cartas variante do poker e o objetivo é formar a melhor mão de 5 cartas.

Mecânicas do jogo e jogabilidade:

  • Cartas e Jogadores:
    • Você recebe 2 cartas fechadas.
    • 5 cartas são reveladas na mesa.
  • Resultados
    • Ele mostra a melhor mão de 5 cartas, combinando as cartas fechadas e comunitárias, que o programa conseguiu juntar em uma só vez. 

(o jogo não possui rodadas)

Classificação possíveis das mãos:

  1. Royal Flush
  2. Straight Flush
  3. Four of a Kind
  4. Full House
  5. Flush
  6. Straight
  7. Three of a Kind
  8. Two Pair
  9. One Pair
  10. High Card

Figura 1:  O jogador fez One Pair.

Figura 2:  Menu de Debug.


Figura 3: FullHouse.

2.2 Programação 

Feito em C#, o código do jogo usa diversas classes separadas que são chamadas na Main, cada mão possível tem sua propría classe, o deck é feito através de um stack e posteriormente de um histograma.

Imagens a seguir da classe Program.cs, aonde o jogo é efetivamente executado







2.3 Discussão dos Resultados

O resultado foi satisfatório, a maior dificuldade foi aplicar chamadas de classe e métodos no C#, a documentação da Windows é bastante complexa, também a falta de material voltado a jogos de poker programados inteiramente em C#. Muitas das classes que foram proporcionadas do modelo inicial eram ambiguas ou difíceis de entender apesar de estarem com o código comentado. Nesse quesito o uso de IA foi muito útil para compreender como as classes funcionavam e que parâmetros elas pediam. Se basear no modelo proporcionado foi bastante útil, principalmente a classe Test.cs. Além disso a falta de tempo é sempre uma dificuldade mas nada que uma noite acordado não resolva.

3. Conclusão

Entre os objetivos duas coisas ficaram fora do escopo do que foi possível desenvolver. Uma mecânica de dois jogadores, com duas mão separadas. E uma de apostas, algo que eu achava ser simples de implementar. Tirando isso o programa emula o ínicio de um jogo de poker e calcula qual a maior mão sem falhas.

Referências

Documentação da C#. Acessado diversas vezes. https://learn.microsoft.com/en-us/dotnet/csharp/.

Informção sobre mãos de poker. Acessado diversas  vezes. https://upswingpoker.com/poker-hands-rankings/.

Exemplo de jogo de poker em C#. Utilizado como referência mas complexo demais. Acessado diversas vezes. https://visualstudiomagazine.com/Articles/2024/04/04/five-card-poker-library.asp...

Ficha completa da equipe

Giulia Sthéfanie Martins dos Santos - Programador - https://coupdcat.itch.io/ 

Luiz Augusto Pardo da Silva - Programador - https://anarcat-revolution.itch.io/ 

Marcelo Dornbusch Lopes - Orientador - https://m4rc3lo.itch.io/ 

Universidade do Vale do Itajaí - UNIVALI

Cesar Albenes Zeferino | Diretor Escola Politécnica

Giorgio Gilwan | Coordenador do Curso de Design de Jogos

Rafael Kojiio | Coordenador Gamelab UNIVALI

-‌---

Projeto  desenvolvido como requisito parcial para obtenção de aprovação nas disciplinas: (i) Estrutura de Dados - Professor - Marcelo Dornbusch Lopes; (ii) Giulia Sthéfanie Martins dos Santos - Aluna - https://coupdcat.itch.io/ ; e (iii) Luiz Augusto Pardo da Silva - Aluno - https://anarcat-revolution.itch.io/ 

Download

Download
poker_Luiz_Giulia-20240621T191640Z-001.zip 238 kB

Leave a comment

Log in with itch.io to leave a comment.