Skip to content
Snippets Groups Projects
esimerkki4.py 1.43 KiB
Newer Older
Erkki Kaila's avatar
Erkki Kaila committed
import pygame

def alusta():
    """ Alustaa pygame ikkunan ja palauttaa näyttöolion """
    pygame.init()
    naytto = pygame.display.set_mode((640, 480))
    return naytto



naytto = alusta()

# Ufon aloituskoordinaatit
ufo_x = 0
ufo_y = 0

# Reunojen koordinaatit
YLAREUNA = 0
VASEN_REUNA = 0
Erkki Kaila's avatar
Erkki Kaila committed
OIKEA_REUNA = 490
ALAREUNA = 400
Erkki Kaila's avatar
Erkki Kaila committed

# Liikkeen nopeus
NOPEUS = 2

# ufo
ufo = pygame.image.load("ufo.png")

# alustetaan ajastin
ajastin = pygame.time.Clock()

# Pygamen pääsilmukka, jossa odotetaan ikkunan sulkeutumista
while True:
    for tapahtuma in pygame.event.get():
        if tapahtuma.type == pygame.QUIT:
            exit()
            
    
    # mitä nappuloita on nyt pohjassa?
    painetut_nappulat = pygame.key.get_pressed()
    
    if painetut_nappulat[pygame.K_LEFT]:
        ufo_x -= NOPEUS
    if painetut_nappulat[pygame.K_RIGHT]:
        ufo_x += NOPEUS
    if painetut_nappulat[pygame.K_DOWN]:
        ufo_y += NOPEUS
    if painetut_nappulat[pygame.K_UP]:
        ufo_y -= NOPEUS
    
    
    # Tarkistetaan, ettei mennyt reunasta yli
    if ufo_x < VASEN_REUNA:
        ufo_x = VASEN_REUNA
    if ufo_x > OIKEA_REUNA:
        ufo_x = OIKEA_REUNA
    if ufo_y < YLAREUNA:
        ufo_y = YLAREUNA
    if ufo_y > ALAREUNA:
        ufo_y = ALAREUNA
   
     # Piirretään ufo nykyiseen paikkaan
    naytto.fill((0,0,0))
    naytto.blit(ufo, (ufo_x, ufo_y))
    
    pygame.display.flip()
     
    # Odotetaan  hetki
    ajastin.tick(500)