Stundas uzdevums: Apvienot 5. tēmā apgūtās sarakstu, vārdnīcu un for ciklu prasmes terminālī spēlējamā kāršu pāru atrašanas spēlē.
Pirms sāc: izmanto iepriekš apgūto un šīs lapas teorijas/koda piemērus. Ja vajadzīga jauna komanda vai rīks, vispirms atrodi tās paraugu teorijas sadaļā.
Programma izveido 4×4 (16 kāršu) galdiņu ar 8 simbolu pāriem (piem., AABB...). Visas kārtis sākumā ir aizvērtas. Spēlētājs ievada divu kāršu pozīcijas (piem., 1A un 3D) - programma tās uz brīdi atklāj. Ja simboli sakrīt, kārtis paliek atvērtas; ja nē, tiek aizvērtas. Spēle beidzas, kad atrasti visi pāri. Beigās tiek izvadīts mēģinājumu skaits.
spele = {
"meginajumi": 0,
"atrasti_pari": 0,
"atvertas": []
}
klajs = ["A", "A", "B", "B"]
70 min plāns: datu struktūras ~20 min, spēles cikls ~30 min, modularitāte un GitHub ~20 min.
data.py izveido sarakstu simboli = ["A", "B", "C", "D", "E", "F", "G", "H"].klajs ar simboliem dubultotiem (8 pāri = 16 vietas) un samaisi to ar random.shuffle().spele = {"meginajumi": 0, "atrasti_pari": 0, "atvertas": []}, lai sekotu spēles statusam.paradit_klaju(klajs, atvertas), kas ar for ciklu izvada 4×4 režģi: atvērtās kārtis kā simbolu, slēgtās kā ?.izveles_apstrade(speletaja_ievade), kas pārvērš "1A" par saraksta indeksu.while ciklā lūdz divu kāršu izvēli, atklāj tās un palielina meginajumi.atvertas sarakstam un palielini atrasti_pari.atrasti_pari == 8.main.py (palaiž spēli), engine.py (loģika), data.py (simboli un sākuma stāvoklis).README.md ar palaišanas instrukciju.Šis ir īss iesildīšanās uzdevums. Nokopē sagatavi, ielīmē to pareizajā koda vietā un palaid. Šeit pietiek droši izmēģināt tēmu 5.6 Noslēguma projekts: Atmiņu kāršu spēle; detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
spele = {
"meginajumi": 0,
"atrasti_pari": 0,
"atvertas": []
}
klajs = ["A", "A", "B", "B"]
main.py failā un palaid no termināļa.Pievieno šīs stundas paņēmienu kā nelielu, strādājošu projekta daļu.
punkti, gajiens, atbilde, rezultats vai parbauda_ievadi().Pārbaudi, vai algoritms darbojas paredzami vairākās situācijās.
Ja pamatdarbs ir pabeigts, paplašini projektu ar vienu nelielu programmētu uzlabojumu.
random.shuffle() tikai pēc pāru saraksta izveides.atrasti_pari palielinās tikai tad, kad pāris tiešām sakrīt.| Kritērijs | Sācis (1-3) | Turpina (4-6) | Apguvis (7-8) | Padziļināti (9-10) |
|---|---|---|---|---|
| Datu struktūras | Dati tiek glabāti atsevišķos mainīgajos. | Lieto sarakstu, bet vārdnīca trūkst vai izmantota nepareizi. | Lieto sarakstu kāršu klājam un vārdnīcu spēles statusam. | Izmanto ligzdotas struktūras (piem., saraksts vārdnīcā) un papildu metaliela informāciju. |
| Cikli un iterācija | Cikls neizpildās vai izraisa kļūdu. | Cikls strādā, bet izvade nav glīta. | For cikls korekti izvada režģi, while cikls pareizi pārtraucas. | Pievienota validācija lietotāja ievadei (kļūdas neavarē programmu). |
| Modularitāte un stils | Viens fails, nav PEP 8. | Sadalīts vairākos failos, bet imports vai struktūra nepilnīga. | 3 faili, korekta moduļu sadarbība, PEP 8, docstring. | Profesionāla struktūra: type hints, README, GitHub ar 4+ commit. |
main.py.README.md ir instrukcija, kā spēli palaist.