Tavs šīs stundas izaicinājums: Analizēt teksta piedzīvojumu spēles gaitu, izstrādāt vizuālu algoritma shēmu un strukturēt spēles loģiku pirms reālā koda rakstīšanas.
2.4.1. Analizē problēmu, identificē datus un veic decompozīciju.Pirms programmēšanas sarežģīta spēles loģika (Kā spēlētājs pārvietosies starp telpām?) ir jāvizualizē. Izstrādē tam izmanto standartizētus algoritmu shēmu simbolus, kuriem ir tieša saistība ar Python sintaksi.
# Beigu punkts kodā bieži nozīmē vienkārši funkcijas beigas
print("Spēle beigusies! Tu uzvarēji!")
return
# Taisnstūris shēmā = Funkcija kodā
def pils_varti():
print("Tu stāvi pie lieliem dzelzs vārtiem.")
# Rombs shēmā = Input un If/Else zarošanās
izvele = input("Atvērt vārtus (A) vai bēgt (B)? ")
if izvele == "A":
# Iet tālāk...
# Bulta shēmā = Funkcijas izsaukšana
pils_pagrabs() # Pāreja uz nākamo lokāciju
Sagatavo vienkāršu algoritma shēmu ar vienu lēmuma punktu un diviem iznākumiem, izmantojot pareizos simbolus.
Projektē sarežģītāku spēles plūsmu, savienojot vairākas lokācijas vienotā tīklā, lai izvairītos no loģikas kļūdām.
Sasaisti izveidoto vizuālo plānu ar reāliem Python elementiem — topošajām funkcijām un mainīgajiem.
def sarga_istaba():).ir_atslega = True).if ir_atslega:).Izveido plānu situācijai, kur spēlētājs var iestrēgt un mēģināt atkal, līdz atrisina mīklu.
while ciklu vai funkcijas atkārtotu izsaukšanu).# Slikti: Spēlētājs izlasa tekstu un programma aizveras
def tuksa_istaba():
print("Šeit nekā nav.")
# Trūkst turpinājuma!
# Labi: Spēlētājs tiek nosūtīts atpakaļ
def tuksa_istaba():
print("Šeit nekā nav. Tu atgriezies gaitenī.")
gaitenis()
# Slikti: Mainīgais tiek radīts tikai 1. istabā
def otra_istaba():
if ir_atslega: # Ja spēlētājs šeit nonāk pirms 1. istabas, spēle sabruks!
print("Atvērts")
# Labi: Mainīgais tiek definēts globāli pirms spēles sākuma
ir_atslega = False
# 1. Taisnstūris: Sākuma lokācija
def meza_taka():
print("Tu stāvi uz sūnainas takas.")
# 2. Rombs: Izvēle
izvele = input("Iet (A)ugšup vai (L)ejup? ").upper()
# 3. Bultas: Pārejas (Plūsma uz citām funkcijām)
if izvele == "A":
kalna_virsotne()
elif izvele == "L":
upes_leja()
else:
print("Nesapratu.")
meza_taka() # Atgriežas sākumā (Cikls)