4. tēma: Spēles dzinēja prototipa izstrāde un testēšana

Tavs mērķis: Patstāvīgi apvienot iepriekšējās stundās izstrādātās komponentes vienotā, funkcionējošā prototipā, veikt koda atkļūdošanu (debugging) un optimizāciju sadarbībā ar klasesbiedriem.

2.6.1. Veic programmas atkļūdošanu (debugging); 1.3.4. Novērtē programmas darbības rezultātu un atbilstību mērķim; 5.2.4. Sadarbojas, sniedzot un saņemot atgriezenisko saiti.

Darba uzdevuma gaita

1. solis: Pilna cikla integrācija

  1. Izveido vienotu funkciju saktSpeli(), kas iestata spēles sākuma vērtības (piemēram, punkti = 0, laiks = 30).
  2. Piesaisti šo funkciju HTML pogai "Sākt spēli", izmantojot onclick notikumu.
  3. Nodrošini, ka spēles beigās (kad laiks beidzas vai notiek sadursme) visi procesi tiek apstādināti, izmantojot clearInterval() vai apturot animācijas ciklu.

2. solis: Koda sakārtošana un tīrība ("Clean Code")

  1. Pārskati savu kodu un pievieno skaidrojošus komentārus (//) pie visām galvenajām funkcijām un cikliem, īsi aprakstot to uzdevumu.
  2. Pārliecinies, ka visi mainīgo nosaukumi ir jēgpilni un saprotami (piemēram, mainīgo p pārsauc par punkti).
  3. Izdzēs vai aizkomentē visus console.log() izsaukumus, kas tika izmantoti izstrādes gaitā un vairs nav nepieciešami gatavajā spēlē.

3. solis: Kļūdu medības un "Pīļu testēšana"

  1. Apmainies ar blakussēdētāju ar izstrādāto spēles prototipu (izmantojot GitHub saiti vai apmainoties vietām pie datoriem).
  2. Mēģini mērķtiecīgi "salauzt" klasesbiedra spēli, veicot neparedzētas darbības (ātri klikšķinot pogas, spiežot vairākus taustiņus reizē).
  3. Ja atrodi kļūdu (bug), izmanto pārlūka Console, lai atrastu kļūdaino koda rindu, izskaidro to autoram un kopīgi novērsiet atrastās loģikas kļūdas savos projektos.

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. Funkcionalitāte un spēles loģika Spēle palaižas, bet cikla (start/stop) vadība nedarbojas vai pārlūkprogramma regulāri "uzkaras". Spēli var sākt, taču apstādināšanas (Game Over) loģikā ir nepilnības (piem., objekti turpina kustēties fonā). Spēles cikls (sākums, gaita, beigas) darbojas stabili un bez kļūdām. Visi intervāli tiek korekti apstādināti. Loģika ir nevainojama, patstāvīgi ieviesti papildus stāvokļi (piemēram, pauze vai līmeņu pārslēgšanās), kas darbojas stabili.
2. Koda kvalitāte ("Clean Code") Kods ir grūti lasāms, mainīgo nosaukumi ir nejauši (a, b, x), nav izmantoti komentāri. Kods ir daļēji sakārtots, izmantoti daži jēgpilni nosaukumi, bet palikuši lieki testa kodi (piem., nevajadzīgi console.log). Kods ir strukturēts, mainīgie ir jēgpilni, pievienoti skaidrojoši komentāri pie galvenajām funkcijām. Liekais kods ir izdzēsts. Kods ir modulārs, loģiski sadalīts pa atsevišķām funkcijām, pilnībā ievērojot labās prakses (Clean Code) principus.
3. Atkļūdošana un sadarbība Spēj pamanīt vizuālas kļūdas savā spēlē, bet kļūdu labošanā nepieciešams nepārtraukts skolotāja atbalsts. Izmanto konsoli, lai atrastu vienkāršas sintakses kļūdas. Dalās ar kodu, bet nespēj mērķtiecīgi testēt cita darbu. Patstāvīgi atrod un novērš savas loģikas kļūdas. Veiksmīgi testē klasesbiedra spēli un spēj izskaidrot atrasto kļūdu cēloni. Ne tikai atrod kļūdas un izskaidro to iemeslus, bet arī piedāvā un palīdz klasesbiedram integrēt optimālākus programmēšanas risinājumus.

Pašpārbaudes saraksts

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