segunda-feira, 10 de maio de 2021

Jogo da Forca

Quem nunca pegou uma folha de caderno e brincou com os amigos do jogo da forca?! E é esse o tema do post de hoje, iremos desenvolver um pequeno jogo da forca que rode direto na shell do python (portanto não usa a biblioteca Pygames) e cujo código você encontra aqui: Clique Aqui.

O primeiro passo é entender que estamos trabalhando com dois arquivos, um com a lista de palavras e ou outro onde acontecem as execuções do código. O arquivo de lista de palavras é bem simples, contendo apenas uma definição com uma lista de palavras, como podemos ver abaixo:

Esse arquivo é carregado pelo "from palavras import lista_palavras" logo no começo do outro arquivo de execução (o arquivo de execução, onde estão os códigos principais). Logo abaixo temos uma série de definições e o executor do arquivo. No "get_palavra()" temos a forma randômica de como as palavras são escolhidas para o jogo da forca:



Em "play(palavra)" é onde estão as estruturas lógicas responsáveis pela verificação da letra ou da palavra digitada corresponde ao que é para ser descoberta mediante uma lista. Note que para esse processo, exige-se uma "while not" (enquanto não) contínuo com diversos "if", "elif" e "else" (se, enquanto se, senão) que servem para dividir uma série de ações e possibilidades, mas principalmente reconhecer se a palavra/letra digitada pertence ou não a palavra a ser descoberta.

O primeiro "if" está associado ao reconhecimento do que foi digitado se é um letra/palavra (usa-se "isalpha" para isso) e se tem tamanho 1 para o caso de ser uma letra digitada ou se está na lista de palavras caso seja digitado a palavra inteira. Após essa verificação inicial, temos a verificação (elif) se o palpite (letra ou palavra digitada) está presente na palavra a ser descoberta. Para letras e palavras digitadas os processos são diferentes, no caso da letra é necessário fazer um índice de letras já que uma letra pode aparecer mais do que uma vez, enquanto uma palavra digitada é só comparar com a palavra a ser descoberta:



Sempre após cada um desses casos é dado um print de tela com um amensagem referente a situação e mostrando um desenho pré-pronto da forca que está associado ao número de tentativas e que está presente na definição "display_enforcamento(tentativas)":



No fim dor arquivo estão as programações reponsáveis pela primeira execução e pela reinicialização do game. Com isso fechamos as explicações sobre o Jogo da Forca, porém é possível fazer diversos melhoramentos, tais como, um maior número de tentativas, uma execução via biblioteca pygames ou colocar níveis de dificuldade. Pronto para o desafio? Deixe nos comentários suas descobertas e até a próxima!

Como não perder nenhum compromisso: Meu App Agenda

No nosso dia a dia a agenda é um instrumento de grande importância que as pessoas utilizam para fazer anotações de compromissos ou informaçõ...