Erinevus lehekülje "ITI0205 2020 2 iseseisev töö" redaktsioonide vahel

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti
 
(ei näidata sama kasutaja 15 vahepealset redaktsiooni)
1. rida: 1. rida:
 
= ITI0205 2. iseseisev töö - Javascripti lauamäng =
 
= ITI0205 2. iseseisev töö - Javascripti lauamäng =
 
== NB! Ülesande punktid ja nõuded täpsustuvad ==
 
  
 
== Mida tuleb teha ==
 
== Mida tuleb teha ==
  
Sinu ülesandeks on kirjutada brauseris jooksev Yahtzee kasutades selleks ainult HTMLi, 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.
+
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ängu käik ==
15. rida: 13. rida:
 
'''Põhifunktsionaalsus'''
 
'''Põhifunktsionaalsus'''
  
* Rakenduse avamisel küsitakse kasutaja nimi ja nupp "Alusta"
+
Realiseeritud põhifunktsionaalsus annab 7 punkti ja on kohustuslik praktikumi arvestamiseks.
* Kasutajale kuvatakse mängulauda ja tulemuste tabelit
+
 
* Kasutaja saab visata täringuid. Sobiva kombinatsiooni saamiseks
+
* Enne mängu algust küsitakse kasutajalt käikude arv - võib olla 3, 7 või 13
* Mängijale kuvatakse mängu seis - milline käik ja milline on tema punktisumma
+
* 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
 
* Kui mäng on läbi kuvatakse kasutajale tema tulemus
 +
* Täringud on kuvatud piltidena
  
 
'''Lisaks põhifunktsionaalsusele'''
 
'''Lisaks põhifunktsionaalsusele'''
  
* Kasutaja tulemused salvestatakse edetabelisse. Brauseri sulgemisel ja uuesti avamisel ei lähe edetabelisse salvestatud tulemused kaduma
+
Iga punkt siit nimekirjast annab ühe punkti, st. lisaks baasfunktsionaalsusele on võimalik saada kokku 15 punkti.
* Mängus saavad osaleda 2 .. 5 mängijat. Mäng toimub samas arvutis ja ühe mängija käigu lõppedes antakse käik üle järgmisele mängijale.
+
 
 +
* 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
 
* Mäng on lisaks ''desktop'' vaatele kohaldatud ka mobiilile
  
'''Lisapunktide saamiseks'''
+
'''Lisapunkti saamiseks'''
  
* Mängu on võimalik mängida üle võrgu. Tagarakenduse platvormi valik on vaba, aga mäng peab olema kättesaadav ja kasutatav Turingu serverist.
+
* Mängu on võimalik mängida arvuti vastu, kusjuures arvuti ei tee oma otsuseid juhuslikult vaid kasutades optimaalset strateegiat võitmiseks. "AI" võimalikest strateegiatest võib lugeda näiteks siit: http://vermeille.fr/dotclear2/index.php/post/35-An-expectation-maximization-Yahtzee-AI
  
 
Mistahes põnevad lisandused on lubatud.
 
Mistahes põnevad lisandused on lubatud.
46. rida: 62. rida:
 
* Kuna iga mängija saab visata täringuid 3 korda, siis realiseeri nüüd see osa.
 
* 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.
 
* 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 tugi.
+
* Nüüd on õige aeg hakata lisama edetabelit ja mitmemängija tuge.
  
 
== Abimaterjale ja viiteid ==
 
== Abimaterjale ja viiteid ==

Viimane redaktsioon: 14. oktoober 2020, kell 12:36

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