4. tēma: Funkcijas un Modularitāte. 5. stunda: Stāsta plānošana un shēmas.

Tavs šīs stundas izaicinājums: Analizēt spēles gaitu un izveidot vizuālu algoritma shēmu, lai strukturētu un plānotu teksta piedzīvojumu spēles loģiku pirms koda rakstīšanas.

SR 2.4.1. (Algoritmu dekompozīcija un plānošana)

Teorija: Algoritmu shēmu simboli

Pirms rakstīt kodu, stāsta gaita ir jāuzzīmē. Programmēšanā tam izmanto standartizētus algoritmu shēmu simbolus, kas tieši atbilst konkrētām Python komandām:

# (SĀKUMS)   --> Ovāls: Programmas starts
#    ↓       --> Bulta: Plūsmas virziens
# [ISTABA]   --> Taisnstūris: Funkcija (apraksts, darbība)
#    ↓
#   --> Rombs: Jautājums spēlētājam (if/else)
#  ↙   ↘
# (BEIGAS)   [CITA ISTABA]

1. uzdevums: Mini-zara skice

Izveidot vienkāršu algoritma shēmu ar vienu lēmuma punktu un diviem iznākumiem, izmantojot pareizos simbolus.

Izpildes soļi:

  1. Uz papīra vai digitālā rīkā (piemēram, Draw.io interneta pārlūkā) uzzīmē sākuma punktu "Meža mala" (izmanto ovālu).
  2. Pievieno izvēles punktu, uzzīmējot rombu: "Iet alā vai kāpt kalnā?".
  3. Katram virzienam izveido beigu punktu (ovālus): "Atradi dārgumus" (Uzvara) vai "Iekriti bedrē" (Zaudējums).
  4. Savieno blokus ar bultām, norādot spēlētāja ceļu no sākuma līdz beigām.

2. uzdevums: Lielā piedzīvojuma karte

Projektēt sarežģītāku spēles plūsmu, savienojot vairākas lokācijas un lēmumus vienotā, loģiskā tīklā.

Izpildes soļi:

  1. Izplāno stāstu ar vismaz 5 dažādām lokācijām, attēlojot tās kā taisnstūrus.
  2. Nodrošini vismaz divus dažādus veidus, kā spēlē zaudēt, un vienu ceļu uz uzvaru (izmantojot rombus lēmumiem un ovālus beigām).
  3. Iekļauj vismaz vienu "atgriešanās" punktu, kur divi dažādi ceļi atkal savienojas vienā lokācijā (bultas norāda uz vienu un to pašu taisnstūri).
  4. Pārbaudi, vai visa shēma ir savienota un nav atrautu bloku.

3. uzdevums: Tehniskais projekts

Sasaistīt izveidoto vizuālo shēmu ar reāliem programmēšanas elementiem – topošajām funkcijām un mainīgajiem.

Izpildes soļi:

  1. Funkciju sasaiste: Pie katra taisnstūra shēmā pieraksti funkcijas nosaukumu, ko vēlāk definēsi kodā (piemēram, def pils_varti():).
  2. Mainīgo plāns: Izdomā, vai Tev vajadzēs mainīgos progresam (piemēram, ir_atslega = False).
  3. Atzīmē shēmā precīzu vietu, kurā šis mainīgais mainīs vērtību (piemēram, norādi pie konkrēta taisnstūra: "Alā iegūst atslēgu", kodā: ir_atslega = True).
  4. Izseko ar pirkstu vai peli bultu pārejām un pārliecinies, ka katra pāreja atbilst reālam un loģiskam funkcijas izsaukumam kodā.

Biežākās kļūdas (un kā tās labot):

Koda piemērs: Kā shēma pārvēršas kodā?

# 1. Taisnstūris (Apraksts)
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)
    if izvele == "A":
        kalna_virsotne()
    else:
        upes_leja()
Vizuālais plāns kodā:
[Mežs] --(A)--> [Kalns]
[Mežs] --(L)--> [Upe]
⬅ Iepriekšējā stunda Nākamā stunda ➡