Stundas uzdevums: Diferencēt mainīgo redzamību programmā, izmantot vārdnīcas kompleksu datu glabāšanai un optimizēt spēles tēla īpašību pārvaldību.
2.4.13. Lieto mainīgos, datu tipus un pamatkonstrukcijas.70 min darba sadalījums: 1. uzdevums (~20 min) - atjauno teorijas piemēru vai minimālo prototipu; 2. uzdevums (~25 min) - pielieto to galvenajā uzdevumā; 3. uzdevums (~25 min) - pārbaudi rezultātu, izlabo kļūdas un tikai beigās pieraksti vienu secinājumu. Papildus/4. līmeņa uzdevums ir paredzēts tikai tad, ja pamatdarbs ir pabeigts.
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ļā.
Lai veidotu sarežģītas spēles, mums jāzina, kur mainīgie "dzīvo" un kā efektīvi glabāt tēla statistiku.
klases_punkti = 100 # Globāls
def veikt_pirkumu():
cena = 20 # Lokāls (ārpus funkcijas neeksistē)
print(f"Iztērēti {cena}")
{}Dictionary ir datu struktūra, kas glabā informāciju pāros: Key (Atslēga) : Value (Vērtība). Tas ir ideāls veids, kā glabāt spēlētāja statistiku vienuviet.
# Vārdnīcas izveide
speletajs = {"vards": "Anna", "punkti": 100, "limenis": 5}
# Piekļūšana vērtībai pēc atslēgas
print(speletajs["vards"]) # Izvada: Anna
# Vērtības atjaunināšana
speletajs["punkti"] -= 10
Š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 4.4 Lokālie/globālie mainīgie un vārdnīcas; detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
# Vārdnīcas izveide
speletajs = {"vards": "Anna", "punkti": 100, "limenis": 5}
# Piekļūšana vērtībai pēc atslēgas
print(speletajs["vards"]) # Izvada: Anna
# Vērtības atjaunināšana
speletajs["punkti"] -= 10
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.
"HP" vietā "hp").
# Slikti:
print(tels["HP"]) # Ja atslēga ir "hp" (mazie burti)
# Labi:
print(tels.get("HP", "Nav atrasts")) # .get() drošai piekļuvei
# Atceries:
# Lokālie mainīgie pieder tikai tai funkcijai, kurā tie radīti!
# Globālie dati
klases_trauceklis = {"tips": "Nokavēts zvans", "punkti": 50}
def noņemt_punktus(ieraksts, punkti):
"""Samazina ieraksta punktus par norādīto skaitu."""
ieraksts["punkti"] = ieraksts["punkti"] - punkti
print(f"{ieraksts['tips']} samazināja punktus!")
# Izsaukums
noņemt_punktus(klases_trauceklis, 15)
print(f"Atlikušie punkti: {klases_trauceklis['punkti']}")