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 🙂