我正在设计一个游戏,游戏和语音识别,其中将显示不同的图像,用户必须说出他们看到的对象的名称。如果他们给出正确的答案,程序将播放一个音频文件“好工作”,并移到下一张图片。否则,它将播放“错误的答案,再试一次”,并促进用户第二次机会回答相同的问题,这将发生三次。我的问题是,在最后一次机会之后,音频文件“错误的答案再试一次”将被播放并转移到下一个问题,而不是再次重复。最后一次循环时,我怎么能跳过“错误的答案再试一次”呢?
谢谢。
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)发布于 2020-11-08 06:19:05
您可以创建一个名为“guess_counter”的变量,以跟踪他们回答错误的次数,而这个数字是< 3的(因为您说过他们有3次机会),您可以播放错误的声音效果。
一旦你移动到下一张图片,你可以重置这个计数器变量来跟踪新图片的猜测。
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)https://stackoverflow.com/questions/64734683
复制相似问题