ITI0205 2020 2 iseseisev töö

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

ITI0205 2. iseseisev töö - Javascripti lauamäng

Mida tuleb teha

Sinu ülesandeks on kirjutada brauseris jooksev Yahtzee kasutades selleks ainult HTMLi, ilma raamistiketa Javascripti ja CSSi. Yahtzee on viie täringuga mängitav mäng, mille eesmärgiks on saada võimalikult palju mängulehel märgitud numbrikombinatsioone. Võitja on mängija, kes peale mängulehe täitmist on saanud kõrgeima punktisumma.

Mängu käik

Mäng koosneb 13 käigust ja selle eesmärgiks on 5 täringut veeretades koguda erinevate täringukombinatsioonidega võimalikult palju punkte. Võitja on mängija kellel on 13 käigu järel kõige rohkem punkte.

Reeglid ja nõuded

Põhifunktsionaalsus

Realiseeritud põhifunktsionaalsus annab 7 punkti ja on kohustuslik praktikumi arvestamiseks.

  • Enne mängu algust küsitakse kasutajalt käikude arv - võib olla 3, 7 või 13
  • Kui valitud on käikude arv, saab mängu alustada.
  • Kasutajale kuvatakse mängulauda ja tulemuste tabelit. Mängu alustades on tulemuste tabel tühi.
  • Mängu eesmärk on koguda võimalikult palju punkte. Selleks:
    • Heidab mängija viit 6-küljelist täringut.
    • Mängija saab kõiki täringuid korraga uuesti visata
    • Mängija valib kombinatsiooni millele ta saadud punktisumma tahab lisada.
  • Minimaalses versioonis on realiseeritud vähemalt järgmised kombinatsiooni punkide saamiseks:
    • Number (ühed, kahed, kolmed, neljad, viied, kuued)
    • Jokker - täringute summa
  • Kui kombinatsiooni eest on punkte saadud siis samas mängus selle eest punkte enam ei saa.
  • Mängijale kuvatakse mängu seis - milline käik ja milline on tema punktisumma kokku iga käigu järel.
  • Kui mäng on läbi kuvatakse kasutajale tema tulemus
  • Täringud on kuvatud piltidena

Lisaks põhifunktsionaalsusele

Iga punkt siit nimekirjast annab ühe punkti, st. lisaks baasfunktsionaalsusele on võimalik saada kokku 15 punkti.

  • Mängija saab maksimaalselt kolmel korral kas kõiki või osasid täringuid uuesti visata.
  • Lisaks käikude arvule küsitakse kasutajalt ka tema nimi. Mängu lõppedes kirjutatakse punktisumma tulemuste tabelisse kus näidatakse viimase 10 mängu kohta järgmised väljad: nimi, punktide arv, veeretuste arv ja mängule kulunud aeg.
  • Tulemuste tabeli on sorteeritav - seal olevaid andmeid on võimalik sorteerida suuremast väiksemani ja vastupidi nime ning punktisumma järgi.
  • Brauseri sulgemisel ja uuesti avamisel ei lähe tulemuste tabelisse salvestatud andmed kaduma
  • Mängus saavad osaleda 2 mängijat. Mäng toimub samas arvutis ja ühe mängija käigu lõppedes antakse käik üle järgmisele mängijale.
  • Realiseereritud on kõik Yahtzee reeglites olevad kombinatsioonid: https://yatzy-yahtzeeeee.dk/en/the-13-different-combinations/
  • Tärgingupildid on realiseeritud spritesheetidena.
  • Mäng on lisaks desktop vaatele kohaldatud ka mobiilile

Lisapunkti saamiseks

Mistahes põnevad lisandused on lubatud.

Millises järjekorras asju teha

Proovi alustada lihtsamate osadega ja sealt järjest keerulisemaks.

  • Alusta puhta HTML failiga kuhu CSSiga joonistad staatilise mänguvälja ja täringud
  • Proovi saada täringud staatiliselt kuvama soovitud numbreid
  • Nüüd tee lihtne onclick meetod täringule, mis seda numbrit vahetaks
  • Lisa nupud täringu viskamiseks.
  • Proovi hoida täringute summat mingis globaalses muutujas, mida näitad välja lehel - see tähendab et oleku salvestamine töötab
  • Edasi proovi tulemused vastava käigu juurde tulemuste tabelisse kirjutada.
  • Nüüd realiseeri mängu algus ja lõpuolekud - mängu kondikava on sellega olemas.
  • Kuna iga mängija saab visata täringuid 3 korda, siis realiseeri nüüd see osa.
  • Laienda funktsiooni mis arvutab punkte nii et see võtaks arvesse ka muid kombinatsioone.
  • Nüüd on õige aeg hakata lisama edetabelit ja mitmemängija tuge.

Abimaterjale ja viiteid