首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pygame混频器

Pygame混频器
EN

Stack Overflow用户
提问于 2020-11-08 04:01:24
回答 1查看 153关注 0票数 1

我正在设计一个游戏,游戏和语音识别,其中将显示不同的图像,用户必须说出他们看到的对象的名称。如果他们给出正确的答案,程序将播放一个音频文件“好工作”,并移到下一张图片。否则,它将播放“错误的答案,再试一次”,并促进用户第二次机会回答相同的问题,这将发生三次。我的问题是,在最后一次机会之后,音频文件“错误的答案再试一次”将被播放并转移到下一个问题,而不是再次重复。最后一次循环时,我怎么能跳过“错误的答案再试一次”呢?

谢谢。

代码语言:javascript
复制
for i in range(1,11):
       
       
       if i== 1:

            carImg = pygame.image.load(os.path.join(image_path,'tiger.jpg'))
            gameDisplay.blit(carImg,(130,0))
            pygame.display.update()
            pygame.mixer.Sound.play(Tiger)
            pygame.mixer.music.stop()
            time.sleep(7)
            for j in range(1,4):
                    r = sr.Recognizer()
                    with sr.Microphone() as source:
            
                     print ('Say Something!')
                     audio = r.listen(source)
                    try:
                        text = r.recognize_google(audio)
                        print(text)
                    except:
                        print('Did not get that try Again')
                        text=''
            
                    if text == 'tiger':
                        print('good job') 
                        pygame.mixer.Sound.play(right)
                        pygame.mixer.music.stop()
                        break
                    else:
                        print('wrong try again')
                        pygame.mixer.Sound.play(wrong)
                        pygame.mixer.music.stop()
                        time.sleep(3)
            time.sleep(4)
      
       
       elif i== 2:

        carImg = pygame.image.load(os.path.join(image_path,'monkey.jpg'))
        gameDisplay.blit(carImg,(130,0))
        pygame.display.update()
        pygame.mixer.Sound.play(Monkey)
        pygame.mixer.music.stop()
         
        for a in range(1,4):
                    r = sr.Recognizer()
                    with sr.Microphone() as source:
            
                     print ('Say Something!')
                     audio = r.listen(source)
                    try:
                        text = r.recognize_google(audio)
                        print(text)
                    except:
                        print('Did not get that try Again')
                        text=''
        
                    if text == 'monkey':
                        print('good job') 
                        pygame.mixer.Sound.play(right)
                        pygame.mixer.music.stop()
                        break
                    else:
                        print('wrong ya wad')
                        pygame.mixer.Sound.play(wrong)
                        pygame.mixer.music.stop()
                        time.sleep(3)
        time.sleep(4)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-08 06:19:05

您可以创建一个名为“guess_counter”的变量,以跟踪他们回答错误的次数,而这个数字是< 3的(因为您说过他们有3次机会),您可以播放错误的声音效果。

一旦你移动到下一张图片,你可以重置这个计数器变量来跟踪新图片的猜测。

代码语言:javascript
复制
for i in range(1,11):
   
   
   if i== 1:
        guess_counter = 0
        carImg = pygame.image.load(os.path.join(image_path,'tiger.jpg'))
        gameDisplay.blit(carImg,(130,0))
        pygame.display.update()
        pygame.mixer.Sound.play(Tiger)
        pygame.mixer.music.stop()
        time.sleep(7)
        for j in range(1,4):
                r = sr.Recognizer()
                with sr.Microphone() as source:
        
                print ('Say Something!')
                audio = r.listen(source)
                try:
                    text = r.recognize_google(audio)
                    print(text)
                except:
                    print('Did not get that try Again')
                    text=''
        
                if text == 'tiger':
                    print('good job') 
                    pygame.mixer.Sound.play(right)
                    pygame.mixer.music.stop()
                    break
                else:
                    if guess_counter < 3:
                        print('wrong try again')
                        pygame.mixer.Sound.play(wrong)
                        pygame.mixer.music.stop()
                        time.sleep(3)
                        guess_counter += 1
        time.sleep(4)
  
   
   elif i== 2:
       guess_counter = 0
       carImg = pygame.image.load(os.path.join(image_path,'monkey.jpg'))
       gameDisplay.blit(carImg,(130,0))
       pygame.display.update()
       pygame.mixer.Sound.play(Monkey)
       pygame.mixer.music.stop()
     
       for a in range(1,4):
                r = sr.Recognizer()
                with sr.Microphone() as source:
        
                print ('Say Something!')
                audio = r.listen(source)
                try:
                    text = r.recognize_google(audio)
                    print(text)
                except:
                    print('Did not get that try Again')
                    text=''
    
                if text == 'monkey':
                    print('good job') 
                    pygame.mixer.Sound.play(right)
                    pygame.mixer.music.stop()
                    break
                else:
                    if guess_counter < 3:
                        print('wrong ya wad')
                        pygame.mixer.Sound.play(wrong)
                        pygame.mixer.music.stop()
                        time.sleep(3)
                        guess_counter += 1
    time.sleep(4)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64734683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档