Close menu
Close menu

Tunnistaudu

Kirjaudu

Etkö ole vielä jäsen?

Liity jäseneksi
Etusivu / Materiaalit / Taidetta ohjelmoimalla / 0. Johdanto / Python-ohjelmointi (Pygame)

Python-ohjelmointi (Pygame)

Python on tekstipohjainen ohjelmointikieli, jossa kaikki tulostus tapahtuu konsoli-ikkunassa. Perus Pythonin komennot on selkeitä, mutta sillä ei onnistu graafinen ohjelmointi. Graafinen ohjelmointi onnistuu esimerkiksi Pythoniin lisättävän Pygame-kirjaston avulla. Käytännössä asenna ensin uusin Python-versio ja vasta sitten Pygame-kirjasto (Windows-versio). Jos sinulla on käytössäsi tietokone, jossa on Windows-käyttöjärjestelmä, niin toimi seuraavasti.

1. Mene osoitteeseen: https://www.python.org/
2. Lataa uusin Python kohdasta Downloads. Napsauta hiirellä kohtaa: Tallenna ja Suorita. Valitse avautuvasta ikkunasta ensin kohta: Add Python to PATH ja sen jälkeen valitse kohta: Install Now.


3. Asennuksen jälkeen aukaise DOS-komentoikkuna ja kirjoita sinne komento: pip install pygame
Huomio: Jos tämä ei onnistu, niin unohdit ruksia edellisessä kohdassa kohdan: Add Python to PATH


4. Käynnistä IDLE (Python) ja ota siinä komento: File | New File.


5. Kirjoita ohjelma

import pygame
pygame.init()
# Asetukset
GREEN = (  0,   255,   0)
font = pygame.font.SysFont("Arial", 50)
text = font.render("MOI", True, (255, 255, 0)) 
# Ikkuna
size = [400, 400]
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Esimerkki")
# Komennot
screen.fill((0, 0, 255))  
pygame.draw.rect(screen, GREEN, [100, 100, 200, 200])
screen.blit(text, (150, 150))
pygame.display.update()
pygame.time.delay(2000)
pygame.quit()

6. Tallenna ohjelma komennolla: File | Save As ja anna tiedostolle nimi ja kirjoista tiedoston loppupäätteeksi py eli esimerkiksi tiedoston nimi voisi olla esim1.py Lopuksi ota komento: Run | Run Module

Tällöin aukeaa ikkuna, joka näyttää tältä.

Tässä ikkuna näkyy ruudulla kaksi sekuntia (= 2000 ms), jonka jälkeen ikkuna sulkeutuu automaattisesti. Muuten täytyisi sulkea Shell-ikkuna, jos kaksi viimeisintä komentoa jätetään pois. Huomaa, että Shell-ikkunan saat tarvittaessa esille komennolla: Run | Python Shell. Tallennetut python ohjelmat voi myös ajaa DOS-komentoikkunassa komennolla:
python tiedosto.py

Web-selaimessa toimiva Pygame löytyy osoitteessa.
https://repl.it/languages/pygame

Tehdään samainen ohjelma myös täällä. Kokonainen ohjelma on tässä. Tähän on lisätty silmukka, jossa ohjelma on ikuisessa silmukassa, kunnes ikkuna suljetaan. Tämä silmukan avulla yleensä Pygamessa luodaan vuorovaikutus.

import pygame
pygame.init()
# Asetukset
GREEN = (  0,   255,   0)
font = pygame.font.SysFont("Arial", 50)
text = font.render("MOI", True, (255, 255, 0)) 
# Ikkuna
screen = pygame.display.set_mode((400,400))
pygame.display.set_caption("Esimerkki")

done = True
while done:
    screen.fill((0, 0, 255))  
    pygame.draw.rect(screen, GREEN, [100, 100, 200, 200])
    screen.blit(text, (150, 150))
    
    for  event in pygame.event.get():
        if event.type == pygame.QUIT:
            done = False

    pygame.display.update()
pygame.quit()

Kirjoita ohjelma main.py ikkunaan ja paina Run painiketta, niin näet lopputuloksen oikean puolisessa ikkunassa.

Ikkunan koko on asetettu riveillä 8 ja 9. Sininen taustaväri on asetettu rivillä 14 komennolla screen.fill, jossa käytetään RGB värejä. Vihreä neliö on piirretty rivillä 15, jossa käytetään aikaisemmin määriteltyä väriä GREEN. Vihreä väri on määritelty rivillä 4. Teksti on tulostettu rivillä 16 muuttujan text-avulla, joka on vastaavasti määritelty riveillä 5 ja 6.

Tämä esimerkki osoittaa, että Pygame ohjelmointi on jo haastavaa aloittelijalle. Pitää tietää jo ohjelman perusrakenteet eli toistolause, valintalause, tapahtumien käsittely yms. Alkuun pääseminen vaatii enemmän työtä. On hyvä havaita, että Pygame ohjelmoinnissa on ensin alkuasetukset riveillä 1-9 ja varsinainen pääohjelma on loopissa (ikuisessa silmukassa) riveillä 12-22. Komennot on pitkiä, joten helposti tulee kirjoitusvirheitä. Isoissa ohjelmissa asetusen määrittely alussa helpottaa niiden käyttöä, joten jos jaksat perehtyä Pygame-ohjelmointiin, niin työ kyllä palkitaan ajan mittaan. Pygame-ohjelmointia voisi suositella toiseksi ohjelmointikieleksi. Pygamella voi tehdä peliohjelmointia.

Ohjeita Pygame-ohjelmointiin löydät täältä: https://www.pygame.org/news

Huomioita:

  • Pygame-komennot on pitkiä, jolloin helposti tulee kirjoitusvirheitä. Paljon muistettavaa.
  • Pythonilla ja Pygamella on aktiivinen käyttäjäkunta. Ohjeita ja tutoraaleja helposti saatavina.
  • Ammattimainen ohjelmointityyli. Määrittelyt ovat alussa työläitä rakentaa, mutta helpottaa isoissa ohjelmissa.
  • Tulevaisuus näyttää hyvältä, johtuen aktiivisesta käyttäjäkunnasta. Peliohjelmoijat kuitenkin hyötyisivät C ja JavaScript kielistä ehkäpä enemmän. Esimerkiksi Unbuty on C-kieltä ja nettipelit on kirjoitettu JavaScriptillä.
  • Pygamea en voi suositella aloittelijalle ensimmäiseksi ohjelmointikieleksi. Jos valintasi on kuitenkin Pygame, niin aloita Pythonin peruskomennoilla eli koodaa konsoli-ikkunassa ensin ja siirry vasta sitten myöhemmin Pygame-komentoihin. Python-ohjelmointiin kuitenkin kannattaa perehtyä, jos suunnitelmissa on ohjelmoijan ura. Python on ohjelmointikieli, jolla on lupaava tulevaisuus. Uusia kirjastoja on kehitteillä Pythonille koko ajan.