Prévia do material em texto
Universidade Estadual de Maringá FUNDAMENTOS DA PROGRAMAÇÃO Jogo do tigrinho Gabriel Lacerda Silva ra:140740 Matheus Henrique Paz ra:129330 31 de outubro de 2024 DESCRIÇÃO Foi solicitado a realização de um trabalho em que deveria ser realizado o jogo do tigrinho linguagem de programação C. O jogador deve colocar o saldo inicial para iniciar as apostas e em seguida a quantia que ele deseja apostar. O jogo contém 3 rolos com 5 caracteres, a cada rodada cada rolo vai mostrar um caractere aleatório entre 0 e 4, o jogador ganhará quando os 3 caracteres dos rolos forem iguais. Ao final do jogo o jogador escolhe se deseja continuar ou parar, caso ele queira continuar será solicitado para que ele coloque o valor da nova aposta, e assim o programa repetirá o processo até que o jogador decida parar. FUNCIONAMENTO DO CÓDIGO INÍCIO: VERIFICAÇÃO DE ENTRADA DE DADOS -Primeiramente temos que pedir para o usuário digitar um valor para ser o valor do saldo e a quantia que ele deseja apostar, e guardar esse valor utilizando o scanf. Entre a 17ª e a 21ª linha foi incluído um trecho que impossibilita o usuário de utilizar números negativos e letras ao colocar o saldo, aparecendo uma mensagem de invalidez até que o usuário digite uma opção válida, que são os números racionais positivos, esse loop da mensagem acontece através do while.Percebe-se também a utilização do do, é através dele que conseguimos fazer com que através de um laço que foi determinado, o código se repita sempre que a condição para que isso aconteça seja verdadeira. RESPOSTAS PARA OPÇÕES INVÁLIDAS: Nesta parte criamos uma alternativa de resposta para todas as opções inválidas que o usuário pudesse inserir como por exemplo, aposta negativa, alguma letra ou palavra, aposta maior que o saldo e aposta 0. O getchar foi utilizado para impedir que o printf da linha 36 ficasse repetindo infinitamente. CRIAÇÃO DOS ROLOS: -Após isso foi necessário criar os rolos e fazer com que eles gerassem os caracteres com aleatoriedade, para que isso seja possível foi utilizado o srand que irá gerar os caracteres aleatórios através de uma semente, que é o tempo: (time (NULL)) . O rand( ) %5 foi utilizado para mostrar os caracteres aleatórios e determinar o intervalo dos caracteres de 0 à 4. E em seguida temos a atualização do saldo caso ele perca a aposta. ANÁLISE DE POSSIBILIDADES: A parte de conferir se o apostador ganhou, perdeu, atualização de saldo, possibilidade de recarga, encerramento do jogo, foi -construída através da lógica e utilizando estruturas de decisão if e else no primeiro if garantimos que a condição que garante a vitória ao participante é apenas se os números saírem iguais, juntamente dentro desse laço já colocamos nosso multiplicador. O else garante que todas as possibilidades contrárias ao if leva o usuário a perder. Exibimos uma mensagem de atualização de saldo, para análise da banca do participante, e já colocamos condições para que não ocorra a possibilidade dele jogar sem saldo, e é claro que como uma boa casa de aposta oferecemos a possibilidade de recarga para que ele possa perder mais dinheiro. Temos outro else se caso ele não queira fazer a recarga o jogo encerra. OPÇÃO DE DESISTÊNCIA OU PERMANÊNCIA: No final do código inserimos um laço de repetição onde se a pessoa não escolhesse a tecla certa entre continuar apostando ou parar o programa repetiria a mensagem até que aperte a tecla certa “s” ou “n”. o case foi utilizado na estrutura indicando as possibilidades de escolha break e return 0 para encerrar o laço, a condição final no while garante com que o código rode corretamente DIFICULDADES As dificuldades e erros foram surgindo durante a manipulação do problema e dentre elas podemos citar: ● problemas com a variável char: algumas das nossas variáveis que declaramos como recargar e continuar, utilizamos o tipo “chair” já que nessas variáveis so usaremos o ‘sim’ e o ‘não’, só que isso deu um problema quando íamos rodar o código, o problema acontecia quando recebíamos o valor na variável utilizando o scanf. o problema era o espaço na hora da digitação, sem o espaço o programa tem dificuldade de absorver as informações corretamente ● Problemas com o rand: não estávamos conseguindo gerar os números aleatórios mesmo usando o rand corretamente, mas foi facilmente resolvido pois estávamos usando o rand, mas não o srand, já que ele que passa os valores ao rand. então incluímos ao código o srand e junto a biblioteca ● Problemas com atualização de saldo: O saldo da pessoa não estava atualizando da forma correta, quando a pessoa ganha no saldo nao era descontado o valor da aposta, isso porque colocamo a condição dentro do else, entao o codigo só atualizava corretamente quando a pessoa perdia ou seja a pessoa ganhava o multiplicador e mais o valor que apostou, mas isso foi facilmente resolvido, pois antes de iniciar o loop com if e else colocamos uma condição código antes: código depois: REFERÊNCIAS BIBLIOGRÁFICAS https:https://youtu.be/_6bTv05fmGA?si=0gJf4twy5NsJu3IP https://youtu.be/cnmz5ptg6IU?si=mRgZHZTccIEXyViX https://openai.com/index/chatgpt/ https://abrir.link/FAwNz https://youtu.be/_6bTv05fmGA?si=0gJf4twy5NsJu3IP https://youtu.be/cnmz5ptg6IU?si=mRgZHZTccIEXyViX https://openai.com/index/chatgpt/