Stundas uzdevums: Ieraudzīt "kopbildi". Apgūsi, kā aprēķināt statistiku no saviem JSON/CSV failiem un izveidot vizuālas diagrammas (pat ja tās sākotnēji ir tikai terminālī). Tas palīdzēs saprast, vai Tava spēle ir par vieglu, par grūtu un kuras izvēles spēlētājiem patīk visvairāk.
SR 2.3.6. (Datu vizualizācija un interpretācija)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ļā.
Datu analīze nav tikai matemātika - tā ir spēja pieņemt lēmumus, balstoties uz reāliem faktiem. Programmēšanā mēs izmantojam divus galvenos jēdzienus:
Ja Tava statistika rāda, ka 90% spēlētāju izvēlas "ātro pogu", tas nozīmē, ka "prezentācijas pults" ir vai nu pārāk vāja, vai garlaicīga. Izmantojot šos datus, mēs veicam Game Balancing (spēles līdzsvarošanu).
import matplotlib.pyplot as plt
vardi = ["Anna", "Jānis", "Eva"]
punkti = [120, 95, 145]
plt.bar(vardi, punkti, color="#FFB142")
plt.title("TOP 3 spēlētāji")
plt.savefig("rezultati.png")
plt.show()
Š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 6.5 Analīze un Vizualizācija; detalizētu izpratni veidosi nākamajos uzdevumos.
Kopējamais piemērs vai sagatave: izmanto šo bloku kā starta punktu, nevis kā gala risinājumu.
import matplotlib.pyplot as plt
vardi = ["Anna", "Jānis", "Eva"]
punkti = [120, 95, 145]
plt.bar(vardi, punkti, color="#FFB142")
plt.title("TOP 3 spēlētāji")
plt.savefig("rezultati.png")
plt.show()
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.
1. Dalīšana ar nulli: Ja neviens vēl nav spēlējis spēli (saraksts ir tukšs), mēģinājums aprēķināt vidējo punktu skaitu izraisīsZeroDivisionErrorkļūdu. Vienmēr pārbaudi:if len(dati) > 0:!
2. Datu "troksnis": Testa ieraksti (piemēram, vārds "Asdf" ar 0 punktiem) bojā Tavu statistiku. Pirms analīzes dati ir jāiztīra arifnosacījumiem.
3. Nepareizs grafiks: Nelieto sektoru diagrammu, ja Tev ir 50 dažādas vērtības - tajā nekas nebūs saskatāms. Izmanto stabiņu diagrammu (Bar chart) lielākam datu apjomam.
statistika = {"Mežs": 15, "Ala": 8, "Pils": 3}
print("--- LOKĀCIJU POPULARITĀTE ---")
for vieta, skaits in statistika.items():
# Reizinām simbolu ar skaitli, lai izveidotu vizuālu stabiņu
stabins = "#" * skaits
# {:10} nodrošina, ka lokāciju nosaukumi izlīdzinās glītā kolonnā
print(f"{vieta:10} | {stabins} ({skaits})")
Padoms: Skaties uz datiem kā uz spēlētāju sarunu ar Tevi. Ja viņi visi "mirst" vienā un tajā pašā vietā, varbūt ir laiks to padarīt nedaudz vieglāku?