Ohjelmassa pyydämme käyttäjää antamaan arvosanan tämän hetken suosikkipeleille.

Ohjelma on suoritettu IDLE-python ohjelmalla, jonka voit ladata ja asentaa täältä.

Ohjelman käyttöohjeet ja lisää python-harjoituksia löydät ohjelmistoputkan Python-oppaasta.


Oheisessa class Peli –luokassa meillä on ensimmäisenä __Init__  –constructor , jota kutsutaan aina, kun Peliluokasta tehdään uusi peliolio (esimerkiksi vaikka mario- tai fortnite-olio) .

__init__ -contructorilla on kaksi parametria self ja nimi sekä kaksi atribuuttia self.nimi ja self.arvosana.

Nimi-parametri välitetään Peli-oliota tehdessä sille argumenttina ja self-parametri on se olio, joka oliota luodessa luodaan ja jolle myöhemmin voidaan kutsua olion anna_arvosana(self)- ja tulosta_peli(self) -metodeja. Tällöin self-parametri välittää metodille sen olion, jolle arvosana haluaan antaa tai joka haluaan tulostaa print-kirjastofunktiokäskyllä.

Anna_arvosana(self) ja tulosta_peli(self)  ovat Peli-luokan metodeja, eli asioita joita Peli-luokasta luotu olio osaa tai sille voidaan tehdä. Scratchissa tälläistä osaamista on esim pupulle (sprite luokasta luotu olio) liiku eteen 20 -lohkokomento tai Codestersissa siili.move_right(20).

Ylläolevassa koodissa esimerkiksi pelkkä mario-olio luotaisiin ja sitä käytettäisiin seuraavasti (#-merkin jälkeinen punainen teksti on koodia selventä kommentti, jota ei suoriteta koodikäskynä.)

Oheisen ohjelmanpätkän suoritus näyttää seuraavalta.

Pääkuvan esimerkkipeliohjelmassa luokkaa käytetään hieman tehokkaammin, eli luomme for-loopissa pelilistan läpikäymällä väliaikaisia kysytty_peli -olioita, annamme niille arvosanan ja talletamme ne tulostamista varten pelioliolistaan Pythonin append-kirjastofunktiokomennolla.

Tämän jälkeen käymme olioita sisältävän pelioliolistan samalla lailla läpi ja kutsumme jokaiselle läpikäytävälle oliolle tulosta peli -metodia.

Esimerkkiohjelman tulostus näyttää tältä:

Jos esimerkkiohjelma on sinusta hyödyllinen, voit vapaasti käyttää sitä, kun opeta luokkien ja olioiden käyttöä muille 🙂