play all beeps at oncethen flash the background origsurf displaysurf copy(flashsurf pygame surface(displaysurf get_size()flashsurf flashsurf convert_alpha(beep play(play all four beeps at the same timeroughly beep play(beep play(beep play(rgb color for in range( )do the flash times each of the iterations of the for loop on the next line (line belowwill perform flash to have three flashes donewe put all of that code in for loop that has three iterations if you want more or fewer flashesthen change the integer that is passed to range(on line for startendstep in (( )( - ))the for loop on line is exactly the same as the one line the startendand step variables will be used on the next for loop (on line to control how the alpha variable changes reread the --animating the button flash|section if you need to refresh yourself on how these loops work animation loop the first iteration in this loop sets the following for loop to go from to the second from to for alpha in range(startendanimationspeed step)alpha means transparency is opaque is invisible checkforquit(flashsurf fill((rgbalpha)displaysurf blit(origsurf( )displaysurf blit(flashsurf( )drawbuttons(pygame display update(fpsclock tick(fpsthis animation loop works the same as the previous flashing animation code in the --animating the background change|section the copy of the original surface object stored in origsurf is drawn on the display surfacethen flashsurf (which has the new flashing color painted on itis blitted on top of the display surface after the background color is set upthe buttons are drawn on top on line finally the display surface is drawn to the screen with the call to pygame display update(email questions to the authoral@inventwithpython com