import time import pygame def rainbow_spectrum(position): relative_pos = position % 1530 red = max(0, min(255, 510 - relative_pos), min(255, relative_pos - 1020)) green = max(0, min(255, relative_pos, 1020 - relative_pos)) blue = max(0, min(255, relative_pos - 510, 1530 - relative_pos)) return red, green, blue def main(): pygame.init() clock = pygame.time.Clock() window = pygame.display.set_mode((720, 720), pygame.FULLSCREEN) rainbow_pos = 0 window.fill((0, 0, 0)) pygame.draw.line(window, (255, 255, 255), (0, 0), (720, 720), 25) pygame.draw.line(window, (255, 255, 255), (0, 720), (720, 0), 25) pygame.display.flip() time.sleep(2) running = True while running: clock.tick(60) pygame.mouse.set_visible(False) for event in pygame.event.get(): if event.type == pygame.QUIT: running = False if event.type == pygame.MOUSEBUTTONDOWN: running = False rainbow_pos %= 1530 window.fill(rainbow_spectrum(rainbow_pos)) rainbow_pos += 4 pygame.display.flip() pygame.quit()