06 – Godot – Funktsioonid (Ülesanne5)

Funktsioonid saab jagada laias laastus kaheks – sisseehitatud (built-in) ja kasutaja poolt loodud (user-defined). Funktsiooni eesmärk on lihtsustada koodi kirjutamist – esiteks vältida korduvate koodide uuesti ja uuesti kirjutamist ning samal ajal hoida kood lühem ja arusaadavam. OOP programmeerimiseks kutsutakse funktsioone ka meetoditeks (methods).

Sisseehitatud funktsioonid

Kui me uue skriptifaili loome, siis luuakse kaks funktsiooni, millest üks on väljakommenteeritud ja seda me siiani pole kasutanud. Tegemist on mängu oluliste funktsioonidega.

  • _ready() on funktsioon, mis käivitatakse mängu alustamisel korra
  • _process()  on funktsioon, mis “jookseb” kogu mängu aja. Parameeter delta näitab kaadrite vahetusele kuluvat aega

Muud sisseehitatud funktsioonid teeme selgeks töötamise käigus.

Oma funktsiooni loomine

Funktsioonide loomise peale tuleks mõelda kogu aeg. Et kuidas saaksid lisada tegevuse funktsiooni konteinerisse ning seda muretult välja kutsuda. Funktsiooni loomisel lisa ette sõna func , anna funktsioonile nimi ja lisa tegevus pärast semikoolonit : . Ja ära unusta pärast funktsiooni kasutamast või väljakutsumast, kus lisad lihtsalt funktsiooni nime.

Nüüd saad funktsiooni korduvalt välja kutsuda ning kui vaja teha muudatusi, siis muudad ainult ühte funktsiooni. Teeme kaks kõige lihtsamat funktsiooni.

Hetkel funktsioonid väljastavad tulemuse konsooli. Konsooli kasutame ainult meie, mängijad seda ei näe. Kui soovid, et funktsioon tagastaks mingi väärtuse ja sellega saaks midagi teha, siis kasuta lauset return . Ja siis saadud väljundit saame eraldi välja printida või kasutada mõne teise funktsiooni sees. Näiteks laseme ühel funktsioonil arvutada ringi pindala, mida saab omakorda kasutada silindri ruumala arvutamisel.

Funktsiooni argumendid

Eelpool tegime funktsioonid, mille sisu polnud dünaamiline. Ehk selle sisu ei sõltu millestki. Selleks, et funktsioon oleks laiema haardega, siis anname ette parameetri. Parameetreid võib olla rohkem kui üks – eralda need lihtsalt komaga.

Võtame ette sama silindri ruumala, mis vajab kahte argumenti arvutamiseks. Pane tähele, et parameetrid tuleb väljakutsumisel kirja panna.

Väljakutsumisel võib kasutada ka muutujaid.

Ülesanne 5

  1. Koosta funktsioon, mis etteantud parameetrite järgi (töötunnid, tunnitasu) leiab makstava tasu:
    • kui on töötatud kuni 40 tundi, on tasu=tunnid*tunnitasu
    • muul juhul tasu = 40*tunnitasu+(tunnid-40)*1.5*töötunnid
    • tasu väljasta konsooli
    • ümarda vastused täistundideks
  2. Koosta antud eksamipunktide statistika jaoks funktsioonid. Vastused kuvatakse konsoolis
    7,28,64,51,81,40,21,73,34,98,39,17,33,85,35,44

    • funktsioon, mis leiab keskmise
    • funktsioon, mis väljastab kõik punktid
    • funktsioon, mis väljastab punktid ja hinde kujul 76p - 4
      hindamise skaala 90% – 5, 75% – 4, 50% – 3, muu 2 (max 100p)

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