From d1b793dd800ad948bd9d2cbac7a473116502f357 Mon Sep 17 00:00:00 2001 From: megamichi Date: Tue, 23 Jan 2024 09:26:42 +0100 Subject: [PATCH] passt --- first.py | 9 +++++++ main copy.py | 68 ----------------------------------------------- main.py | 74 +++++++++++++++++++++++++++++++++++++++++++++++++--- 3 files changed, 80 insertions(+), 71 deletions(-) create mode 100644 first.py delete mode 100644 main copy.py diff --git a/first.py b/first.py new file mode 100644 index 0000000..ebacd6b --- /dev/null +++ b/first.py @@ -0,0 +1,9 @@ +#!/usr/bin/python3 +from math import sin,cos,radians +def berechne_dreieck(alpha,c): + alpha = radians(alpha) + a = cos(alpha)*c# x + b = sin(alpha)*c# y + return a,b + +print(berechne_dreieck(45,100)) \ No newline at end of file diff --git a/main copy.py b/main copy.py deleted file mode 100644 index d8b2bba..0000000 --- a/main copy.py +++ /dev/null @@ -1,68 +0,0 @@ -#!/usr/bin/python3 -from math import sin,cos,radians -from time import sleep -import pygame -def berechne_dreieck(alpha,c): - alpha = radians(alpha) - a = cos(alpha)*c# x - b = -sin(alpha)*c# y - return a,b - -def get_debug_text(): - def text(text,line_counter): - debug_text = default_font.render(str(text), True, (0,0,0)) - screen.blit(debug_text,(0,line_counter*default_font.get_height())) - - line_counter = 1 - globalvars =globals() - for a in globalvars: - text(f"{str(a)} = {str(globalvars[a])}",line_counter) - line_counter += 1 - -pygame.init() -clock = pygame.time.Clock() -screen = pygame.display.set_mode([500,500],pygame.RESIZABLE) -screensize = pygame.display.get_window_size() -default_font = pygame.font.SysFont("sans", 14) - -start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10) -winkel = 0 - -running = True -if __name__ == "__main__": - while running: - screen.fill((255,255,255)) - pressed_keys = pygame.key.get_pressed() - - if pressed_keys[pygame.K_ESCAPE]: - exit() - if pressed_keys[pygame.K_UP]: - winkel += 1 - if pressed_keys[pygame.K_DOWN]: - winkel -= 1 - - for event in pygame.event.get(): - if event.type == pygame.QUIT: - exit() - if event.type == pygame.WINDOWRESIZED: - screensize = pygame.display.get_window_size() - start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10) - screen.fill((0,0,0)) - if winkel >= 360 or winkel <= -1: - winkel = 0 - a,b = berechne_dreieck(winkel,200)#screensize[0]*screensize[1]) - - end_pos = start_pos[0]+a,start_pos[1]+b - # draw c schwarz - pygame.draw.line(screen,(0,0,0),start_pos,end_pos,3) - - # draw a rot - pygame.draw.line(screen,(255,0,0),start_pos,(start_pos[0]+a,start_pos[1]),3) - # draw b blau - pygame.draw.line(screen,(0,0,255),(start_pos[0]+a,start_pos[1]),(start_pos[0]+a,start_pos[1]+b),3) - - get_debug_text() - pygame.display.flip() - clock.tick(30) - #sleep(1) - winkel += 1 \ No newline at end of file diff --git a/main.py b/main.py index 6ccd37d..d5cb50c 100644 --- a/main.py +++ b/main.py @@ -1,8 +1,76 @@ #!/usr/bin/python3 -from math import sin,cos +from math import sin,cos,radians +from time import sleep +import pygame def berechne_dreieck(alpha,c): + alpha = radians(alpha) a = cos(alpha)*c# x - b = sin(alpha)*c# y + b = -sin(alpha)*c# y return a,b -print(berechne_dreieck(45,100)) \ No newline at end of file +def get_debug_text(): + def text(text,line_counter): + debug_text = default_font.render(str(text), True, (0,0,0)) + screen.blit(debug_text,(0,line_counter*default_font.get_height())) + + line_counter = 1 + globalvars =globals() + for a in globalvars: + text(f"{str(a)} = {str(globalvars[a])}",line_counter) + line_counter += 1 +def get_best_size(): + if screensize[0] <= screensize[1]: + best = screensize[0] + else: + best = screensize[1] + return best +pygame.init() +clock = pygame.time.Clock() +screen = pygame.display.set_mode([500,500],pygame.RESIZABLE) +screensize = pygame.display.get_window_size() +default_font = pygame.font.SysFont("sans", 14) + +start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10) +winkel = 0 +best_radios = (get_best_size())/2-20 + +running = True +if __name__ == "__main__": + while running: + screen.fill((255,255,255)) + pressed_keys = pygame.key.get_pressed() + + if pressed_keys[pygame.K_ESCAPE]: + exit() + if pressed_keys[pygame.K_UP]: + winkel += 1 + if pressed_keys[pygame.K_DOWN]: + winkel -= 1 + + for event in pygame.event.get(): + if event.type == pygame.QUIT: + exit() + if event.type == pygame.WINDOWRESIZED: + screensize = pygame.display.get_window_size() + start_pos = screensize[0]/2,screensize[1]/2#(10,screensize[1]-10) + screen.fill((0,0,0)) + best_radios = (get_best_size())/2-20 + + if winkel >= 360 or winkel <= -1: + winkel = 0 + a,b = berechne_dreieck(winkel,best_radios)#screensize[0]*screensize[1]) + + end_pos = start_pos[0]+a,start_pos[1]+b + # draw c schwarz + pygame.draw.line(screen,(0,0,0),start_pos,end_pos,3) + + # draw a rot + pygame.draw.line(screen,(255,0,0),start_pos,(start_pos[0]+a,start_pos[1]),3) + # draw b blau + pygame.draw.line(screen,(0,0,255),(start_pos[0]+a,start_pos[1]),(start_pos[0]+a,start_pos[1]+b),3) + + get_debug_text() + pygame.display.flip() + clock.tick(30) + #sleep(1) + winkel += 1 \ No newline at end of file