05 – Godot – Massiivid (Ülesanne4)

Siiani oleme lisanud igale muutujale ainult ühe väärtuse. Näiteks var nimi=”Mari”. Nüüd kui oleks vaja veel nimesid muutujates hoida, siis peaksime tegema juurde muutujaid. Näiteks var nimi2, var nimi3, ..., var nimi100 . Üle paari muutuja nii tegemine ei tundu mõistlik. Siinkohal tulebki meile appi programmeerimise üks olulisemaid andmestruktuure – massiiv (array). Vaatame selles peatükis, kuidas lihtsat ühemõõtmelist massiivi luua, kuidas sealt andmeid kätte saada ja lisada ning kas on olemas funktsioone sorteerimiseks, kokkulugemiseks, summeerimiseks jne.

Massiivi loomine ja elemendi kuvamine (Array)

Massiivi loomisel tekita massiviile nimi ning lisa elemendid kandiliste sulgude []  vahele. Võimalik on luua ka tühja massiivi, aga kui lisad elemendid, siis eralda need komaga.

Massiivis olevad väärtused indekseeritakse alates nullist! Näiteks kui on kolm elementi, siis indeksid on 0, 1, 2 ehk viimase elemendi indeks on alati ühe võrra väiksem koguarvust.

Massiivi kogu sisu kuvamine

Kogu sisu kuvamiseks tuleb meil kirjutada tsükkel, mis ketrab kogu massivii läbi ja kuvab iga kord järgmise nime. Lihtne on siinkohal kasutada for -tsüklit

Võimalus on genereerida ka numbrid vahemikus null kuni massiivi suurus. Massiivi elementide arvu annab funktsioon size()

Ja seda numbrit saab kasutada massiividest elementide kuvamiseks. Kui elementide arv on massiivides ühesugune, saab seda kasutada mitme massiivi puhul.

Operatsioonid massiividega

Massiivi elemendi lisamine ja eemaldamine

Massiiviga tuleb kaasa hunnik sisseehitatud funktsioone, mis lihtsustab massiividega töötamist. Nende kasutamisel kasutatakse nö punkti süntaksit, mis tähendab, et funktsioon lisatakse massivile otsa punkti abil. Näiteks massiivi lisamine massiiv.append()  või massiviist eemaldamine massiiv.erase(väärtus) . Kõik võimalikud funktsioonid leiad siit: https://docs.godotengine.org/en/3.2/classes/class_array.html

Mõned vajalikumad massiivi funktsioonid

Sõnastik (Dictionary)

Sõnastik (dictionary) on andmetüüp, mis võimaldab programmeerijal ise määrata indeksit ja selle väärtust. Õigemini räägitakse siin võtmest ja selle väärtusest (key-value pair). Näiteks lisame mängijale kolm elementi name, str ja def.

Nüüd kui soovid mõnda kindlat väärtust kätte saada, siis lisad lihtsalt vastava võtme.

Elemendi väärtuse muutmiseks omista võtmele lihtsalt uus väärtus.

Kui sellist võtit pole, siis vaikimisi lisatakse see uue elemendina.

Elemendi kustutamiseks kasuta funktsiooni erase()

Võtme väärtuseks võib olla ka teine massiiv või sõnastik.

Sõnastiku sisu kuvamine

Kui kasutad tavalist for-tsüklit, siis kuvatakse sõnastiku võtmed.

Nüüd, kui saadud väärtust kasutada kui tavalist loendi elemendi kuvamist, saame ka väärtused.

Aga kuidas kuvada kõik väärtused ja nii, et ka massiiv kuvatakse ilusti?

Ülesanne 4.1 – massiiv

  • Loo antud mängijate loendist massiiv
  • Kuva mängijate arv
  • Kuva kõige esimene nimi massiivist
  • Järjesta massiiv tõusvas järjekorras
  • Eemalda funktsiooni abil massiivist mängija Reyes
  • Lisa funktsiooni abil oma nimi massiivi
  • Leia kõige pikem nimi
  • Kuva kõik mängijad

Ülesanne 4.2 – sõnastik

  • Loo sõnastik nimega “player
  • Lisa sõnastikku nimetatud võtmed vabalt valitud väärtustega: posx, posy, health, items (siia loend vähemalt 2 asjaga), gold
  • Koosta lihtne tsükkel, mis lisab 5x kulda juurde
  • Kuva mängija kulla kogus

Viimased postitused

Meist

metshein.com on pakkunud juba üle kümne aasta tasuta eestikeelseid infotehnoloogiaga seotud kursusi. Sama kurssi püütakse järgida ka edaspidi. Eesmärk muuta arvutiõpe võimalikult lihtsaks!

metshein.com: parim eestikeelne koolitusportaal

Autorist ja kontakt: kliki siia

Hetkel õpivad:

There are no users currently online

Kontrolli tunnistust

Tööribale