diff --git a/main.py b/main.py index fd16065..46f3430 100644 --- a/main.py +++ b/main.py @@ -1,42 +1,45 @@ import pygame from random import randint as ri def scale(vaktor): - scaledx = dvdsizex*vaktor - scaledy = dvdsizey*vaktor + scaledx = dvdsize[0]*vaktor + scaledy = dvdsize[1]*vaktor return (scaledx,scaledy) pygame.init() +default_font = pygame.font.SysFont("sans", 14) -is_fullscreen = True +is_fullscreen = False fill_screen = True +show_debug = False screen = pygame.display.set_mode((0,0),pygame.FULLSCREEN) pygame.display.set_caption("Screensaver") -x,y = pygame.display.get_window_size() +screensize = pygame.display.get_window_size() clock = pygame.time.Clock() dvd = pygame.image.load("dvd-logo.png") -dvdsizex,dvdsizey = dvd.get_size() +dvdsize = dvd.get_size() dvdscale = 1 dvdscalesize = scale(dvdscale) dvdscaled = pygame.transform.scale(dvd,dvdscalesize) -dvdx,dvdy = ri(0,x-dvdsizex),ri(0,y-dvdsizey) -wobspeed = 3 +dvdpos = ri(0,screensize[0]-dvdsize[0]),ri(0,screensize[1]-dvdsize[1]) +dvdspeed = 3 richtung = ["r","u"] def randcolor(): return (ri(0,255),ri(0,255),ri(0,255)) -def moving(richtung,wobx,woby): +def moving(richtung,dvdpos): + dvdx,dvdy = dvdpos if richtung[0] == "r": - wobx += wobspeed + dvdx += dvdspeed else: - wobx -= wobspeed + dvdx -= dvdspeed if richtung[1] =="u": - woby += wobspeed + dvdy += dvdspeed else: - woby -=wobspeed - return wobx,woby + dvdy -= dvdspeed + return dvdx,dvdy def toggle_fullscreen(is_fullscreen): if is_fullscreen: @@ -46,6 +49,12 @@ def toggle_fullscreen(is_fullscreen): is_fullscreen = not is_fullscreen return is_fullscreen,pygame.display.get_window_size() +def get_debug_text(): + debug_text = "" + for index,a in enumerate(globals()): + debug_text = default_font.render(f"{str(a)} = {globals()[a]}", True, (240, 240, 240)) + screen.blit(debug_text,(0,index*default_font.get_height())) + running = True if __name__ == "__main__": color = randcolor() @@ -58,12 +67,14 @@ if __name__ == "__main__": exit() if pressed_keys[pygame.K_SPACE] and not preview_pressed_keys[pygame.K_SPACE]: fill_screen = not fill_screen + if pressed_keys[pygame.K_d] and not preview_pressed_keys[pygame.K_d]: + show_debug = not show_debug if pressed_keys[pygame.K_f] and screen.get_size(): - is_fullscreen,(x,y) = toggle_fullscreen(is_fullscreen) - if pressed_keys[pygame.K_UP] and wobspeed>=0: - wobspeed += 1 - if pressed_keys[pygame.K_DOWN] and wobspeed>=1: - wobspeed -= 1 + is_fullscreen,screensize = toggle_fullscreen(is_fullscreen) + if pressed_keys[pygame.K_UP] and dvdspeed>=0: + dvdspeed += 1 + if pressed_keys[pygame.K_DOWN] and dvdspeed>=1: + dvdspeed -= 1 if pressed_keys[pygame.K_RIGHT] and dvdscale>0.1: dvdscale += 0.1 dvdscalesize = scale(dvdscale) @@ -77,24 +88,26 @@ if __name__ == "__main__": if event.type == pygame.QUIT: exit() if event.type == pygame.WINDOWRESIZED: - x,y = pygame.display.get_window_size() + screensize = pygame.display.get_window_size() - if dvdx+dvdscalesize[0] >= x: + if dvdpos[0]+dvdscalesize[0] >= screensize[0]: richtung[0] = "l" color = randcolor() - if dvdx <= 0: + if dvdpos[0] <= 0: richtung[0] = "r" color = randcolor() - if dvdy+dvdscalesize[1] >= y: + if dvdpos[1]+dvdscalesize[1] >= screensize[1]: richtung[1] = "o" color = randcolor() - if dvdy <= 0: + if dvdpos[1] <= 0: richtung[1] = "u" color = randcolor() - dvdx,dvdy = moving(richtung,dvdx,dvdy) - pygame.draw.rect(screen,color,(dvdx,dvdy,dvdscalesize[0],dvdscalesize[1])) + dvdpos = moving(richtung,dvdpos) + pygame.draw.rect(screen,color,(dvdpos[0],dvdpos[1],dvdscalesize[0],dvdscalesize[1])) dvdscaled = pygame.transform.scale(dvd,dvdscalesize) - screen.blit(dvdscaled,(dvdx,dvdy)) - pygame.display.update() + screen.blit(dvdscaled,dvdpos) + if show_debug: + get_debug_text() + pygame.display.flip() clock.tick(60) \ No newline at end of file