You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

62 lines
1.5 KiB

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()