Skip to content

Latest commit

 

History

History
183 lines (115 loc) · 4.84 KB

File metadata and controls

183 lines (115 loc) · 4.84 KB

Jogo da Forca em Python

Descrição

Este projeto consiste na implementação de um jogo da forca desenvolvido em Python utilizando conceitos fundamentais de programação.

O jogador deve adivinhar uma palavra secreta letra por letra, possuindo um número limitado de tentativas. O sistema informa acertos, erros e exibe o progresso da palavra até que o jogador vença ou perca a partida.

Funcionalidades

  • Seleção aleatória de palavras.
  • Controle de tentativas restantes.
  • Verificação de letras já utilizadas.
  • Exibição do progresso da palavra.
  • Condições de vitória e derrota.
  • Interface textual executada pelo terminal.

Tecnologias Utilizadas

  • Python 3

Estruturas de Dados Utilizadas

  • Listas: armazenamento e manipulação das letras da palavra.
  • Conjuntos (set): controle de letras já utilizadas pelo jogador, evitando duplicidades.
  • Strings: representação da palavra secreta e das entradas do usuário.

Como Executar

  1. Abra o terminal na pasta do projeto.
  2. Execute o comando:
python forca.py

Exemplo de Execução

========================================
JOGO DA FORCA
========================================

Palavra: _ _ _ _ _

Digite uma letra: a

Você acertou!

Palavra: A _ _ _ A

Tentativas restantes: 5

Conceitos Aplicados

  • Estruturas condicionais (if, elif, else)
  • Estruturas de repetição (while)
  • Funções
  • Modularização
  • Manipulação de listas e conjuntos
  • Entrada e saída de dados
  • Validação de dados do usuário

🎓 Lições Aprendidas

Ao longo da construção deste projeto, aprimorei habilidades cruciais em lógica de programação e criação de aplicações:

  • Tratamento de dados: adquiri a capacidade de gerenciar entradas incorretas, assegurando que o jogador interaja de forma adequada com a dinâmica do jogo.
  • Gerenciamento de progresso: criei um sistema para rastrear tentativas, letras reveladas, falhas e o andamento geral da partida.
  • Implementação de Set: apliquei estruturas de dados para impedir que letras repetidas fossem inseridas pelo jogador.
  • Estruturação do código: dividi a lógica do jogo em funções menores e autônomas, simplificando a manutenção e a leitura do código.
  • Pensamento analítico(computacional): exercitei a habilidade de dividir um desafio complexo em partes menores, traduzindo as regras do jogo em um código funcional.

Autor(a)

PinchiSZ

Licença

Projeto de uso educacional e livre para estudos.

##English version below

Hangman Game in Python

Description

This project is a simple implementation of the classic Hangman game developed in Python.

The player must guess a secret word one letter at a time while managing a limited number of attempts. The game provides feedback on correct and incorrect guesses and displays the player's progress until the game is won or lost.

Features

  • Random word selection
  • Limited number of attempts
  • Detection of repeated letters
  • Dynamic display of the hidden word
  • Win and loss conditions
  • Text-based terminal interface

Technologies Used

  • Python 3

Data Structures

  • Lists: used to manipulate and display the secret word.
  • Sets: used to store guessed letters and prevent duplicates.
  • Strings: used for user input and word representation.

How to Run

  1. Open a terminal in the project directory.
  2. Run the following command:
python forca.py

Example Output

========================================
HANGMAN GAME
========================================

Word: _ _ _ _ _

Enter a letter: a

Correct guess!

Word: A _ _ _ A

Remaining attempts: 5

Concepts Applied

  • Conditional statements (if, elif, else)
  • Loops (while)
  • Functions
  • Code modularisation
  • List and set manipulation
  • User input validation
  • Interactive terminal applications

Learning Objectives

This project was developed to practise fundamental programming concepts, including:

  • Algorithmic thinking
  • Data structures
  • Control flow
  • Function design
  • User interaction
  • Problem-solving

🎓 What I Learned

Throughout this project, I strengthened important programming logic and software development skills:

  • Input validation: learned how to handle invalid inputs and ensure that users interact correctly with the game.
  • State management: developed logic to track attempts, discovered letters, mistakes, and overall game progress.
  • Using Set: applied data structures to prevent duplicate letters from being entered by the player.
  • Modularization: organized the game logic into smaller, independent functions, making the code easier to understand and maintain.
  • Problem-solving: practiced breaking down a problem into smaller steps and translating game rules into a functional implementation.

Author

PinchiSZ

Licence

This project is intended for educational purposes and personal study.