image

Access unlimited bootcamps and 650+ courses

50
%OFF
Article image
Carlos CGS
Carlos CGS26/05/2024 12:23
Share
Microsoft Certification Challenge #3 DP-100Recommended for youMicrosoft Certification Challenge #3 DP-100

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

  • #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

Share
Recommended for you
Suzano - Python Developer
BairesDev - Machine Learning Practitioner
Santander - Cibersegurança #2
Comments (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 !

Recommended for youMicrosoft Certification Challenge #3 DP-100