1 / 7

Toinen harjoitustyö

Toinen harjoitustyö. Tekstipohjainen matopeli. Yleistä. Tehtävä: Ohjelmoi Matopelin-pelin tekstipohjainen variaatio. Java-kielellä, metodeja ja taulukoita käyttäen. Työ tehdään itsenäisesti yhden hengen ryhmissä. Ideoita voi vaihtaa – koodia ei.

jetta
Download Presentation

Toinen harjoitustyö

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Toinen harjoitustyö Tekstipohjainen matopeli.

  2. Yleistä • Tehtävä: Ohjelmoi Matopelin-pelin tekstipohjainen variaatio. • Java-kielellä, metodeja ja taulukoita käyttäen. • Työ tehdään itsenäisesti yhden hengen ryhmissä. • Ideoita voi vaihtaa – koodia ei. • Henkilökohtaista ohjausta mikroluokissa ennen joulua sekä 2. ja 3. viikolla. • Sähköpostilla voi edelleen kysyä. • Palautus WETOon viimeistään maanantaina 20.1.2014. • Testaus tuttuun tapaan julkisilla ja salaisilla testeillä. • Tarkka tehtävänanto julki keskiviikkona. Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala

  3. Kaksiulotteinen n (≥ 3) rivin ja m (≥ 7) sarakkeen kokoinen pelikenttä. Kenttä koostuu reunapaikoista ja sisäpaikoista. Merkit reunalle, taustalle, madolle ja ruualle. Mato on pelin alussa viiden merkin mittainen ja majailee kentän toisella rivillä. Pelaaja voi siirtää madon päätä askeleen vasemmalle, oikealle, alas tai ylös, vaihtaa keskenään madon pään ja hännän, tehdä reunaan reiän, olla tekemättä mitään tai lopettaa pelin. Mato ei voi peruuttaa siirtymällä tulosuuntaansa. Reikien kautta päästään siirtymään suoraan kentän laidalta toiselle. Mato kasvaa yhden merkin verran, kun sen pää siirretään ruuan kohdalle. Uusi merkki sijoitetaan hännän vanhaan paikkaan. Peli loppuu, jos mato törmää itseensä tai törmää neljännen kerran reunaan. .......... .oooxX . . + . . . .......... Pelikenttä Madon pää esitetään suurella x-kirjaimella ja toinen merkki pienellä x-kirjaimella. Madon loppuosa esitetään pienin o-kirjaimin. Reunapaikkoja merkitään pisteellä. Kentän taustaa symboloi välilyönti. Kentällä on aina kerrallaan korkeintaan yhden plusmerkin verran ruokaa. • Paikkoihin viitataan indekseillä. Rivillä x ja sarakkeessa y olevan merkin paikka on (x - 1, y -1). • Pelin alussa madon pää ja häntä ovat vastaavasti paikoissa (1, 5) ja (1, 1). Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala

  4. Koodista • Kenttä- ja paikkataulukkojen sisältö 5  10 -kokoisella kentällä pelin alussa: • Pelikenttä esitetään kaksiulotteisen taulukon avulla. • Mato suositellaan esiteltäväksi erillisen kaksiulotteisen taulukon avulla. • Madon merkkien paikat voivat olla esimerkiksi kaksiulotteisessa int-tyyppisten alkioiden taulukossa, jonka kullakin rivillä on yhden merkin paikan rivi- ja sarakeindeksit. • Ruokamerkin paikka arvotaan apuluokasta löytyvällä valmiilla metodilla, jotta matoa ruokitaan samoin kuin malliohjelmassa. • Vain taulukot ovat sallittuja, muita tietorakenteita (lista, puu jne.) ei saa käyttää. Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala 4

  5. Ohjelma käynnistetään kolmella komentoriviparametrilla: satunnaislukugeneraattorin siemenluku, kentän rivien lukumäärä ja kentän sarakkeiden lukumäärä. Ohjelma arpoo ruokamerkin paikan satunnaisluku-generaattorilla ja sijoittaa merkin kentälle, jos merkille on tilaa. Pelaaja valitsee toiminnon. Siirto vasemmalle, oikealle, alas tai ylös, pään ja hännän vaihto, reunan puhkaisu, vuoron ohitus tai lopetus. Esimerkki • Aloitetaan peli siemenluvulla 1 ja luodaan 5  10 –kokoinen kenttä: java Matopeli 1 5 10 .......... . ooox . . +X . . . .......... .......... .oooxX . . + . . . .......... 2) Pää uudessa paikassa. Madon muista merkeistä kukin on siirtynyt edellisen merkin paikkaan. Pelaaja liikuttaa matoa kerran vasemmalle. 1) Lähtötilanne. Pelaaja liikuttaa matoa kerran alas. Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala

  6. Esimerkki .......... . oooo . . Xx . .+ . .......... .......... . ooo . . xo . .+ X . .......... .......... . oo . . oo . .+ Xx . .......... .......... . o . . oo . .+Xxo . .......... 3) Mato syö ruoan ja kasvaa yhden merkin verran. Uusi merkki sijoitetaan hännän edelliseen paikkaan. Ohjelma arpoo uuden paikan ruokamerkille. Pelaaja liikuttaa matoa kerran alas. 4) Pelaaja liikuttaa matoa kerran vasemmalle. 5) Pelaaja liikuttaa matoa kerran vasemmalle. 6) Pelaaja liikuttaa matoa kerran vasemmalle. .......... . . . oo+ . Xxooo . .......... .......... . o . . oo+ . .Xxoo . .......... .......... . . . o + . xoooo X .......... 8) Mato tekee reiän reunaan. Pelaaja liikuttaa matoa kerran vasemmalle. 7) Mato syö ja kasvaa merkin. Ohjelma antaa ruokaa. Pelaaja siirtyy vasemmalle. 9) Madon pää tekee reiän kentän oikeaan reunaan. Pelaaja yrittää peruuttaa siirtymällä oikealle. Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala

  7. Esimerkki .......... . . . o + . xoooo X .......... .......... . . . X + . oooox o .......... .......... . . . Xx + . ooooo .......... 10) Mato ei liiku, koska peruuttaminen ei ole sallittua. Pelaaja vaihtaa suuntaa. 11) Hännästä tuli pää ja päästä häntä. Pelaaja liikuttaa matoa kerran vasemmalle. 12) Madon häntä palaa takaisin vasemmalle reunalle. Oikeaan reunaa jää reikä. Pelaaja kyllästyy ja liikuttaa matoa kerran alas, jolloin mato törmää itseensä ja peli loppuu. Lausekielinen ohjelmointi | Syksy 2013 | Jorma Laurikkala 7

More Related