dreieck_test/main copy.py
2024-01-21 18:59:25 +01:00

66 lines
No EOL
2 KiB
Python

#!/usr/bin/python3
from math import sin,cos
import pygame
def berechne_dreieck(alpha,c):
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
print(berechne_dreieck(45,10))
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,150)
end_pos = start_pos[0]+a,start_pos[1]+b
# draw c schwarz
pygame.draw.line(screen,(0,0,0),start_pos,end_pos)
# draw a rot
pygame.draw.line(screen,(255,0,0),start_pos,(start_pos[0]+a,start_pos[1]))
# 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))
get_debug_text()
pygame.display.flip()
clock.tick(1)
winkel += 1