T-106.1210 Ohjelmoinnin peruskurssi, osa1

Kierros 2, tehtävä 4

Taso ja pistearvo:A 80
Lyhyesti:Kokeillaan funktion tekoa
Mitä opitaan:Luomaan omia yksinkertaisia funktioita.
Toteuttamisen vapaus:Vähäinen. Tässä seurataan vaihe vaiheelta annettua ohjetta.
Realistisuus:Keskitasoa. Funktiot ovat yleisesti käytettyjä rakennuspalikoita.
Haastavuus:Helppo tehtävä, kunhan ohjeiden sisälukutaito on hallussa.
Työläys:Kevyt tehtävä. Useimmilta tämän tekeminen sujuu tunnissa.

Huom!

Tämä on alku tehtäville, joissa pala palalta kasataan kokoon noppapeli. Tämän kierroksen tehtävät ovat pohjana myöhemmille tehtäville. Älä siis hävitä ratkaisujasi. Nopanheittoa kuvataan satunnaislukugeneraattorilla. Moduulissa dice.py on tähän liittyvät asiat. Näistä sinun tarvitsee tässä vaiheessa tietää vain se, että moduuli dice.py pitää tallentaa samaan hakemistoon kuin tehtävässä luomasi moduuli ja että sieltä löytyy funktio roll, joka "heittää noppaa kerran" ja palauttaa heiton tuloksen kokonaislukuna väliltä 1 - 6. Moduulista löytyy myös funktio init_seed, joka on tehtävän tarkastusta varten. Se "lukitsee" satunnaislukugeneraattorin antamaan aina saman lukusarjan, kun annetaan sama alustus. Funktio pyytää käyttäjältä "siementä" (seed), johon pitää antaa jokin merkkijono. Mieluiten ilman ääkkösiä.

Tehtävänanto

Luo uusi projekti ja siihen moduuli throw_dice.py.

  1. Tuo moduulin dice sisältö käytettäväksi (import dice)
  2. Tee funktio nimeltä 'play_turn_human', joka:
    1. Kutsuu funktiota roll moduulista dice, ottaa funktion palauttaman tuloksen talteen ja tulostaa näytölle "nuolen" (-->), välilyönnin ja nopanheiton tuloksen.
  3. Tee funktio nimeltä 'play_turn_computer', joka tekee täsmälleen samat asiat kuin edellinenkin. Myöhemmillä kerroilla näiden toiminta muutetaan erilaiseksi mutta nyt ne tekevät saman asian.
  4. Tee funktio 'play', joka:
    1. Kutsuu funktiota init_seed moduulista dice
    2. Tulostaa tekstin 'YOUR TURN'
    3. Kutsuu funktiota play_turn_human
    4. Tulostaa tekstin 'MY TURN'
    5. Kutsuu funktiota play_turn_computer
    6. Tulostaa 45 tavuviivaa peräkkäin (esittää yhtä viivaa)
  5. Testaa funktiot kutsumalla lopun if __name__ == .... osiosta funktiota play. Jätä kutsu sinne Goblinia varten.
Kun testaat funktioita, näytöllä pitäisi näkyä seuraavaa.
Enter seed:
noppa
YOUR TURN
--> 6
MY TURN
--> 3
---------------------------------------------
Varmista, että aina, kun annat saman merkkijonon, saat tulokseksi samat luvut. Jos haluat kokeilla satunnaisilla luvuilla, laita kommenttimerkki init_seed -funktion kutsun eteen ja suorita ohjelmaa uudelleen.
YOUR TURN
--> 4
MY TURN
--> 4
---------------------------------------------
Lukujen pitäisi vaihtua joka kerran, kun ohjelman ajaa uudelleen:
YOUR TURN
--> 5
MY TURN
--> 6
---------------------------------------------

Palauttaminen

Muista ennen palauttamista poistaa kommenttimerkki init_seed -funktion kutsun edeltä!

Palauta tiedosto throw_dice.py Gobliniin arvosteltavaksi.