этот код повторяется, поэтому я должен использовать вспомогательную функцию для вызова этой функции или инкапсулировать ее?
if exitcode==0:
pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Accuracy: "+str(accuracy)+"%", True, (255,0,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(gameover, (0,0))
screen.blit(text, textRect)
else:
pygame.font.init()
font = pygame.font.Font(None, 24)
text = font.render("Accuracy: "+str(accuracy)+"%", True, (0,255,0))
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(youwin, (0,0))
screen.blit(text, textRect)
Единственное отличие - вторая последняя строка оператора if-else, screen.blit(youwin / youlose, (0,0))
,и text = font.render("Accuracy: "+str(accuracy)+"%", True, (0,255,0) / (255,0,0))
Это то, что я сделал с помощью вспомогательной функции, но она не запустится:
if exitcode==0:
initialize_game()
text = font.render("Accuracy: "+str(accuracy)+"%", True, (255,0,0))
produce_text_on_screen()
else:
initialize_game()
text = font.render("Accuracy: "+str(accuracy)+"%", True, (0,255,0))
produce_text_on_screen()
def initialize_game():
pygame.font.init()
font = pygame.font.Font(None, 24)
def produce_text_on_screen():
textRect = text.get_rect()
textRect.centerx = screen.get_rect().centerx
textRect.centery = screen.get_rect().centery+24
screen.blit(gameover, (0,0))
screen.blit(text, textRect)
NameError: имя 'initialize_game' не определено.Некоторая помощь была бы великолепна, спасибо !!