3. tēma: Algoritmi un JavaScript pamati (Pārbaudes darbs)

Tavs mērķis: Izstrādāt un testēt interaktīvu mini-programmu, kas saņem spēlētāja datus, pieņem lēmumus ar sazarojumiem un automātiski ģenerē saturu, izmantojot datu masīvus un ciklus.

2.6.1., 2.6.2., 2.4.2., 5.2.1., 5.2.3., 5.2.6.

Darba uzdevuma gaita (Ieteicamais laiks: 50 min izstrādei, 20 min testēšanai)

1. solis: Vides sagatavošana un Interaktivitāte (Tēma 3.1)

  1. Pieslēdz savam index.html dokumentam ārējo script.js failu.
  2. HTML lapā izveido pogu: <button onclick="saktPiedzivojumu()">Sākt spēli</button>.
  3. Zem pogas izveido vietu datu izvadei: vienu <h2 id="sveiciens"></h2> tagu un vienu tukšu sarakstu <ul id="inventars"></ul>.
  4. JS failā definē funkciju saktPiedzivojumu(), kurā rakstīsi visu turpmāko kodu.

2. solis: Datu bāze un Ievade (Tēmas 3.2 un 3.4)

  1. Ārpus funkcijas (pašā faila augšā) izveido masīvu ar 3 sākuma priekšmetiem: let soma = ["Ūdens", "Lāpa", "Karte"];.
  2. Funkcijas iekšienē izmanto prompt(), lai pajautātu lietotājam viņa varoņa vārdu.
  3. Izvadi šo vārdu HTML lapā: document.getElementById("sveiciens").innerText = "Sveiks, " + vards + "!";

3. solis: Lēmumu pieņemšana - Sazarojums (Tēma 3.3)

  1. Funkcijā izmanto vēl vienu prompt(): "Izvēlies ceļu: 1 (Mežs) vai 2 (Ala)?". Atceries pārveidot atbildi par skaitli ar Number()!
  2. Izveido if / else sazarojumu. Ja spēlētājs izvēlas 1, pievieno (push()) masīvam "Ogas".
  3. Ja spēlētājs izvēlas kaut ko citu (else), nomaini masīva pirmo elementu (indekss 0) no "Ūdens" uz "Tukša pudele".

4. solis: Automatizācija ar ciklu (Tēma 3.5)

  1. Funkcijas pašās beigās atrod HTML sarakstu: let saraksts = document.getElementById("inventars");.
  2. Iztukšo to (gadījumam, ja pogu spiež divreiz): saraksts.innerHTML = "";.
  3. Izveido for ciklu, kas darbosies tik reižu, cik priekšmetu ir tavā soma.length.
  4. Cikla iekšpusē katru elementu pievieno HTML lapai kā jaunu <li>: saraksts.innerHTML += "<li>" + soma[i] + "</li>";.
  5. Pārbaudi kodu, pārliecinies, ka Konsolē (F12) nav kļūdu, un veic Commit & Push!

Vērtēšanas kritēriji (SLA)

Kritēriji Sācis apgūt (1-3) Turpina apgūt (4-6) Apguvis (7-8) Apguvis padziļināti (9-10)
1. Vides sagatavošana un Funkcijas (3.1. tēma) Faili eksistē, bet savienojums nedarbojas vai funkcija netiek izsaukta. Poga izsauc JS funkciju, bet ir kļūdas HTML elementu ID nosaukumos. JS fails veiksmīgi savienots. Poga bez kļūdām iedarbina funkciju. Darba vide organizēta nevainojami, kods ir viegli lasāms un izkārtots.
2. Ievade, Izvade un Datu Tipi (3.2. tēma) Mēģina iegūt datus, bet tie netiek saglabāti vai parādīti lapā. Dati tiek iegūti, taču izvade notiek tikai konsolē vai nepareizā datu tipā. Vārds no prompt veiksmīgi tiek izvadīts HTML h2 tagā. Pareizi izmantots Number() ievades pārveidošanai un innerText izvadei.
3. Sazarojumi (If/Else loģika) (3.3. tēma) If bloks uzrakstīts ar sintakses kļūdām (piem., pazudušas iekavas). If strādā, bet trūkst else alternatīvas, vai izmantots = nevis ===. Loģika strādā korekti – programma izpilda atšķirīgas darbības atkarībā no izvēles. Sazarojums precīzi apstrādā lietotāja ievadi, nodrošinot pareizu koda plūsmu bez loģiskām kļūdām.
4. Datu struktūras (Masīvi) (3.4. tēma) Masīvs ir definēts, bet netiek pareizi veidots (piem., nav komatu, nav kvadrātiekavu). Masīvs eksistē, taču spēles laikā tajā netiek veiktas izmaiņas. Masīvs tiek veiksmīgi papildināts (push) vai mainīts (indeksa pārrakstīšana). Masīva manipulācijas ir perfekti integrētas if/else nosacījumos.
5. Cikli (For) un HTML ģenerēšana (3.5. tēma) Cikls iestrēgst (bezgalīgs) vai nespēj nolasīt masīvu. Cikls strādā, bet izvada datus tikai konsolē vai pārraksta saturu (izmanto = nevis +=). Cikls iziet cauri masīvam (length) un veiksmīgi ģenerē <li> elementus HTML sarakstā. Pirms saraksta ģenerēšanas tas tiek iztukšots. Kods ir pilnībā optimizēts un atkārtoti izmantojams.

Pašpārbaudes saraksts pirms darba nodošanas

⬅ Iepriekšējā stunda Tēmas apkopojums ➡