4. tēma: Noslēguma darbs. Projekts: "CYOA 2.0: Sistēmu integrācija".

Tavs mērķis: Papildināt iepriekšējā tēmā plānoto spēli ar "atmiņu", izveidojot sistēmu, kas seko līdzi spēlētāja inventāram, veselībai un progresam, demonstrējot prasmes darbā ar datu struktūrām un to plūsmu moduļos.

SR 2.4.13. (Kolekcijas), 2.4.14. (Cikli), 2.4.1. (Datu struktūru izvēle)

Darba uzdevuma gaita

1. solis: Spēlētāja profila izveide (Pamata datu glabāšana)

  1. Izveido failu data.py un nodefinē tajā vārdnīcu speletajs ar atslēgām: vards, hp (dzīvības punkti), zelts un inventars (sākotnēji kā tukšs saraksts []).
  2. Izveido spēles sākuma funkciju, kas ar input() pieprasa lietotāja vārdu un saglabā to šajā vārdnīcā.
  3. Nodrošini, ka šī vārdnīca tiek padota kā parametrs spēles sākuma lokācijas funkcijai, lai dati būtu pieejami tālākajā kodā.

2. solis: Dinamiskais inventārs (Cikli un datu atjaunināšana)

  1. Izveido funkciju paradit_inventaru(speletaja_dati), kura izmanto for ciklu, lai pārskatāmi izvadītu visus priekšmetus no spēlētāja inventāra saraksta terminālī.
  2. Izveido vai papildini vismaz vienu lokāciju, kurā spēlētājs var "pacelt" jaunu priekšmetu, pievienojot to inventāra sarakstam ar .append() metodi.
  3. Pievieno loģikas pārbaudi citā lokācijā: spēlētājs var turpināt ceļu (izsaukt nākamo funkciju) tikai tad, ja inventārā atrodas noteikts priekšmets (piemēram, "zelta_atslega").

3. solis: Arhitektūra, stils un versiju kontrole

  1. Sadalīt spēles kodu trīs jēgpilnos moduļos: main.py (programmas sākumpunkts), engine.py (pamatloģika un lokāciju funkcijas) un data.py (sākotnējie dati un inventāra palīgfunkcijas).
  2. Sakārtot kodu atbilstoši PEP 8 vadlīnijām (atstarpes, mainīgo nosaukumi) un katrai funkcijai pievienot docstring, kas paskaidro tās mērķi.
  3. Projekta izstrādes laikā veikt vismaz 4 jēgpilnus commit savā GitHub krātuvē (piemēram, "Izveidota vārdnīcu sistēma", "Pievienots inventāra cikls").

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)
Datu struktūras Dati netiek saglabāti vai tiek izmantoti tikai atsevišķi mainīgie bez loģiskas sasaistes. Lieto sarakstus un vārdnīcas, bet datu piekļuve vai atjaunināšana vietām ir statiska un neelastīga. Efektīvi lieto vārdnīcu spēlētāja profilam un sarakstus inventāram. Dati mainās dinamiski. Lieto ligzdotas datu struktūras loģikas optimizācijai un nodrošina pilnīgu datu saglabāšanos spēles gaitā.
Cikli un iterācijas Mēģina izmantot ciklu datu nolasīšanai, bet tas satur kļūdas vai neizpildās. Izmanto for ciklu kolekciju nolasīšanai, bet izvades noformējums ir haotisks vai nepilnīgs. Lieto ciklus inventāra izvadē un metodes (append, remove) datu vadībai spēles laikā. Veic datu validāciju vai sarežģītu meklēšanu kolekcijās, izmantojot ciklus un loģikas operatorus.
Arhitektūra un stils Viss kods ir vienā failā, netiek ievēroti stila pamati un nav izmantota versiju kontrole. Kods ir sadalīts failos, taču novērojams lieks globālo mainīgo lietojums; trūkst GitHub vēstures. Funkcijas saņem un atgriež datus kā parametrus (pareizs scope). Kods atbilst PEP 8, pievienoti 4 commit. Universālas un pašdokumentējošas funkcijas. Pilnīga un profesionāla moduļu sadarbība. Izvērsta Git vēsture.

Pašpārbaudes saraksts

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