diff --git a/35_pygame_zaklady/02_vykreslovani.py b/35_pygame_zaklady/02_vykreslovani.py index 9cc0673..7cf72b1 100644 --- a/35_pygame_zaklady/02_vykreslovani.py +++ b/35_pygame_zaklady/02_vykreslovani.py @@ -4,7 +4,7 @@ import sys pygame.init() okno = pygame.display.set_mode((800,600)) -pygame.display.set_caption("Prázdné okno") +pygame.display.set_caption("Vykreslování") CERNA = (0,0,0) CERVENA = (255,0,0) diff --git a/35_pygame_zaklady/03_pohyb.py b/35_pygame_zaklady/03_pohyb.py new file mode 100644 index 0000000..d4eb29f --- /dev/null +++ b/35_pygame_zaklady/03_pohyb.py @@ -0,0 +1,51 @@ +import pygame +import sys + +pygame.init() + +okno = pygame.display.set_mode((800,600)) +pygame.display.set_caption("Pohyb Hráče") + +CERNA = (0,0,0) +CERVENA = (255,0,0) +ZELENA = (0,255,0) +MODRA = (0,0,255) + +#hodiny pro hlídání času a obnovování obrazovky +hodiny = pygame.time.Clock() +#Proměnné hráče na začínající pozici +hrac_x = 400 +hrac_y = 300 +rychlost = 5 + +bezime = True +while bezime: + for udalost in pygame.event.get(): + if udalost.type == pygame.QUIT: + bezime = False + + #OVLÁDÁNÍ + #získaní stavu všech kláves + klavesy = pygame.key.get_pressed() + + #základní logika pohybu postavy + if klavesy[pygame.K_LEFT]: + hrac_x -= rychlost + if klavesy[pygame.K_RIGHT]: + hrac_x += rychlost + if klavesy[pygame.K_UP]: + hrac_y -= rychlost + if klavesy[pygame.K_DOWN]: + hrac_y += rychlost + + okno.fill(CERNA) + + pygame.draw.rect(okno, MODRA, (hrac_x,hrac_y,50,50)) + + pygame.display.flip() + + #Omezení rychllostí hry na 60FPS + hodiny.tick(60) + +pygame.quit() +sys.exit() \ No newline at end of file diff --git a/35_pygame_zaklady/04_kolize.py b/35_pygame_zaklady/04_kolize.py new file mode 100644 index 0000000..fa01bb3 --- /dev/null +++ b/35_pygame_zaklady/04_kolize.py @@ -0,0 +1,62 @@ +import pygame +import sys + +pygame.init() + +okno = pygame.display.set_mode((800,600)) +pygame.display.set_caption("Pohyb Hráče") + +CERNA = (0,0,0) +CERVENA = (255,0,0) +ZELENA = (0,255,0) +MODRA = (0,0,255) + +#hodiny pro hlídání času a obnovování obrazovky +hodiny = pygame.time.Clock() +#Proměnné hráče a "nepřítele" na začínající pozici +hrac_x, hrac_y = 100,300 +nepritel_x,nepritel_y= 600,300 +rychlost = 5 + +bezime = True +while bezime: + for udalost in pygame.event.get(): + if udalost.type == pygame.QUIT: + bezime = False + + #OVLÁDÁNÍ + #získaní stavu všech kláves + klavesy = pygame.key.get_pressed() + + #základní logika pohybu postavy + if klavesy[pygame.K_LEFT]: + hrac_x -= rychlost + if klavesy[pygame.K_RIGHT]: + hrac_x += rychlost + if klavesy[pygame.K_UP]: + hrac_y -= rychlost + if klavesy[pygame.K_DOWN]: + hrac_y += rychlost + + #Pro detekci kolizí musíme vytvořit OBJEKTY typu pygame.Rect + rect_hrac =pygame.Rect(hrac_x, hrac_y, 50, 50) + rect_nepritel = pygame.Rect(nepritel_x,nepritel_y,100,100) + + #Detekce kolize + doslo_ke_kolizi = rect_hrac.colliderect(rect_nepritel) + + okno.fill(CERNA) + + #Pokud dojde ke kolizi tak přebarvíme nepřítele na zeleno, jinak červená + barva_nepritele = ZELENA if doslo_ke_kolizi else CERVENA + + pygame.draw.rect(okno,barva_nepritele,rect_nepritel) + pygame.draw.rect(okno, MODRA,rect_hrac) + + pygame.display.flip() + + #Omezení rychllostí hry na 60FPS + hodiny.tick(60) + +pygame.quit() +sys.exit() \ No newline at end of file