Article image
Carlos Soares
Carlos Soares26/05/2024 12:23
Compartilhe

Como Criar Jogo Número Secreto com Reconhecimento de Voz em Python

    Olá a todos, desta vez irei abordar o passo a passo da criação do jogo de adivinhação número secreto em Python, vamos usar o reconhecimento de voz para interação com o usuário.

    O que é o jogo Número Secreto?

    O jogo de adivinhação de número secreto é um clássico, onde o jogador tenta adivinhar um número aleatório dentro de um intervalo especificado. No nosso caso, o intervalo é de 1 a 100. Vamos implementar este jogo de forma interativa, onde o jogador pode falar suas tentativas em vez de digitá-las.

    Quais as Bibliotecas Utilizadas:

    1. speech_recognition: Esta biblioteca nos permite capturar e interpretar a fala do usuário.
    2. pyttsx3: Esta biblioteca é usada para sintetizar a fala e fornecer feedback de voz ao usuário.

    image

    Explicando Passo a Passo Cada uma das Funções:

    • ouvir_microfone(): Esta função captura a entrada de voz do usuário, ajusta o ruído ambiente e tenta reconhecer a fala usando o Google Speech Recognition. Se a fala for reconhecida com sucesso, retorna a frase; caso contrário, retorna None.
    def ouvir_microfone():
      recognizer = sr.Recognizer()
      microphone = sr.Microphone()
    
    
      with microphone as source:
          recognizer.adjust_for_ambient_noise(source)
          audio = recognizer.listen(source)
    
    
      try:
          frase = recognizer.recognize_google(audio, language='pt-BR')
          return frase
      except sr.UnknownValueError:
          print("Não entendi o que você disse.")
          falar("Não entendi o que você disse.")
          return None
    
    • falar(texto): Esta função sintetiza a fala do programa usando o pyttsx3. Ela recebe uma string como entrada e a transforma em fala.
    def falar(texto):
      engine = pyttsx3.init()
      engine.say(texto)
      engine.runAndWait()
    
    • apresentacao(): Esta função imprime uma mensagem de introdução e instruções ao jogador. Ela informa ao jogador que ele precisa adivinhar um número secreto de 1 a 100.
    def apresentacao():
      print("Adivinhe o número secreto de 1 a 100:")
      falar("Adivinhe o número secreto de 1 a 100:")
    
    • jogo_adivinhacao(): Esta função contém a lógica principal do jogo. Um número secreto é gerado aleatoriamente entre 1 e 100, e o jogador é solicitado a adivinhá-lo usando sua voz. O programa fornece feedback de voz se a tentativa do jogador é maior, menor ou igual ao número secreto. O jogo continua até que o jogador adivinhe corretamente o número secreto, momento em que o programa informa quantas tentativas foram necessárias para adivinhar o número.
    def jogo_adivinhacao():
      numero_secreto = random.randint(1, 100)
      tentativas = 0
    
    
      while True:
          tentativa = ouvir_microfone()
    
    
          if tentativa:
              try:
                  tentativa_numero = int(tentativa)
                  tentativas += 1
    
    
                  if tentativa_numero < numero_secreto:
                      print("O número secreto é maior.")
                      falar("O número secreto é maior.")
                  elif tentativa_numero > numero_secreto:
                      print("O número secreto é menor.")
                      falar("O número secreto é menor.")
                  else:
                      print(f"Parabéns! Você acertou o número secreto {numero_secreto} com {tentativas} tentativas.")
                      falar(f"Parabéns! Você acertou o número secreto {numero_secreto} com {tentativas} tentativas.")
                      break
              except ValueError:
                  print("Por favor, diga um número válido.")
                  falar("Por favor, diga um número válido.")
    

    Qual a Lógica do Jogo:

    1. O número secreto é gerado aleatoriamente entre 1 e 100.
    2. O jogador é solicitado a adivinhar o número secreto usando sua voz.
    3. O programa fornece feedback de voz se a tentativa do jogador é maior, menor ou igual ao número secreto.
    4. O jogo continua até que o jogador adivinhe corretamente o número secreto.
    5. O programa informa ao jogador quantas tentativas foram necessárias para adivinhar o número secreto.

    Concluindo:

    Espero ter conseguido mostrar como implementar o jogo número secreto com reconhecimento de voz em Python de forma simples e objetiva. Deixando assim este jogo mais acessível para todos, sem a necessidade de digitar as tentativas.

    Vamos Disseminar os Conhecimentos e Transbordar Tudo o que Aprendemos!

    Segue o Link do meu LinkedInhttps://www.linkedin.com/in/carlos-cgs/

    Segue o Link do meu GitHub contendo todo o código: https://github.com/Carlos-CGS/ProjetosPython/tree/main/Numero%20Secreto

    Compartilhe
    Comentários (2)

    JS

    Janaina Silva - 26/05/2024 15:59

    Que legal. Fiz este projeto em JavaScript. Já usei o speech_recognition em outros projetos, mas não tinha pensado nessa possiblidade. Adorei. Meus aluninhos vão adorar. Obrigada.

    JC

    Jailton Costa - 26/05/2024 13:43

    Parabéns !muito bom !