GDevelop, 4. kord

Taaskord jätkame mänguga Pairs:

  • Avada GDevelop
  • Valida Open a Project
  • Vaikimisi peaks avanema kataloog (nt C:\Users\Kasutajanimi\GDevelop projects\My Projects\), kuhu eelmisel korral sai mäng salvestatud ja sealt tuleb avada Pairs.json fail

Seekord vaatame rekordi üle arvestuse pidamist, seda siis mängukordade ulatuses. Selleks on vaja:

  • tekstikasti, kus rekord kuvatakse:
    • lisada uus tekstikast
      • Objects -> Add a new object -> Text
    • teha vajalikud muutused ja nimetada tekstikast ümber (mina nt panin tekstikastile nimeks Rekord)
    • paigutada teksti mängualale soovitud kohta
  • muutujat kogu mängu ulatuses (seda nimetatakse globaalseks muutujaks), et pidada arvestust, kas mängu on juba mängitud (seda on vaja selleks, et algväärtustada rekordiarvestust):
    • esmalt tuleb globaalne muutuja luua ja sellele anda algväärtus:
      • aktiveerida Project Manager menüü (ikoon akna vasakul üleval nurgas, menüü File Edit jne all)
      • Game settings -> Global variables
      • nimetada muutuja ümber – vaikimisi väärtus, veerus Name, on Variable (mina nt panin muutujale nimeks mangitud)
      • algväärtuseks määrata 0:
        • vaikimisi väärtus, veerus Value, esialgu puudub
        • 0 tähendab, et mängu pole mängitud
        • 1 tähendab, et mängu on mängitud
      • pärast muudatuste tegemist vajutada Apply
  • muutujat kogu mängu ulatuses , et pidada arvestust mängu rekordi osal:
    • esmalt tuleb globaalne muutuja luua:
      • aktiveerida Project Manager menüü (ikoon akna vasakul üleval nurgas, menüü File Edit jne all)
      • Game settings -> Global variables
      • nimetada muutuja ümber – vaikimisi väärtus, veerus Name, on Variable (mina nt panin muutujale nimeks mangurekord)
      • algväärtuseks määrame nt 1000 (see on tingimuslik, sest arvatavasti 1000 korda proovides leiab mängija ikka vajalikud paarid üles), sest selle väärtusega on meil vaja võrrelda tehtud katsete arvu
      • pärast muudatuste tegemist vajutada Apply
      • seejärel võib Project Manager menüü sulgeda
    • seejärel kuvada globaalse muutuja mangurekord väärtus mängu alguses mänguväljale (vaikimisi peidetakse tekstikast Rekord ära ja kuvatakse ainult siis, kui mäng on korra läbi mängitud ja globaalse muutuja mangitud väärtus on 1):
      • liikuda sündmuste lehele NewScene(Events)
      • lisada esmakordseks mängukorraks sündmus, et globaalse muutuja mangurekord väärtust ei kuvata:
        • Prepage the board -> At the beginning of the Scene kastis hiire parema klahviga vajutada
          • Add action
            • Common actions for all objects -> Visibility -> Hide
            • Object nimekirjast tekstikasti nimi (minul siis Rekord)
            • OK
      • edaspidiseks mängimiseks globaalse muutuja mangurekord kuvamine tekstikasti Rekord:
        • Prepage the board -> At the beginning of the Scene kastis mitteaktiivsele alale hiire parema klahviga vajutada
          • avanevast menüüst valida Add sub event
          • Add condition
            • Variables -> Global variables -> Value of global variable
            • Variable realt valida globaalne muutuja, millega peame arvestust, kas mängu on mängitud (minul siis mangitud)
            • Modification’s sign nimekirjast = (equal to)
            • Value to compare 1
            • OK
          • Add action
            • Common actions for all objects -> Visibility -> Show
            • Object nimekirjast tekstikasti nimi (minul siis Rekord)
            • OK
          • Add action
            • Text object -> Modify the text
            • Object nimekirjast valida soovitud tekstikast (minul siis Rekord)
            • Modification’s sign nimekirjast = (set to)
            • Value realt Σ “abc”
              • Variables -> Text of a global variable
              • Variable nimekirjast muutuja (minul siis mangurekord)
              • Apply
            • Value reale tekkis tekst GlobalVariableString(mangurekord) – sellega siis kuvatakse katsete arv
            • kui on soov lisada ka omapoolset teksti, nt kuvada numbri ette “Senine rekord: “, siis Value reale tuleb see lisada ja tulemus peab välja nägema nõnda (jutumärkide sees olev tekst kuvatakse sellisena nagu see on ja selle järele lisatakse (+märk ühendab kaks tekstiosa) muutuja seninerekord väärtus, mis on tekstiks teisendatud):
              • “Senine rekord: “ + GlobalVariableString(mangurekord)
            • OK
      • kui mäng läbi saab, siis:
        • esmakordsel mängimisel muuta globaalse muutuja mangitud väärtust selliselt, et uueks väärtuseks on 1:
          • Check if game is won esimese tingimuse kasti hallile alale hiire parema klahviga vajutada
            • avanevast menüüst valida Add sub event
            • Add condition
              • Variables -> Global variables -> Value of global variable
              • Variable realt valida globaalne muutuja, millega peame arvestust, kas mängu on mängitud (minul siis mangitud)
              • Modification’s sign nimekirjast = (equal to)
              • Value to compare 0
              • OK
            • Add action
              • Variables -> Global variables -> Value of global variable
              • Variable realt valida globaalne muutuja, millega peame arvestust, kas mängu on mängitud (minul siis mangitud)
              • Modification’s sign nimekirjast = (set to)
              • Value 1
              • OK
        • kui stseenisisese muutuja katseid väärtus on väiksem kui globaalse muutuja mangurekord väärtus, omistada globaalsele muutujale mangurekord uus väärtus:
          • Check if game is won esimese tingimuse kasti hallile alale hiire parema klahviga vajutada
            • avanevast menüüst valida Add sub event
            • Add condition
              • Variables -> Global variables -> Value of global variable
              • Variable realt valida globaalne muutuja, millega peame arvestust senise rekordi üle (minul siis mangurekord)
              • Modification’s sign nimekirjast > (greater than)
              • Value to compare realt Σ “abc”
                • Variables -> Value of a scene variable
              • Variable nimekirjast muutuja (minul siis katseid)
              • Apply
              • OK
            • Add action
              • Variables -> Global variables -> Value of global variable
              • Variable realt valida globaalne muutuja, millega peame arvestust senise rekordi üle (minul siis mangurekord)
              • Modification’s sign nimekirjast = (set to)
              • Value realt Σ “abc”
                • Variables -> Value of a scene variable
              • Variable nimekirjast muutuja (minul siis katseid)
              • Apply
              • OK

Ülesandeks on mängu lõpus kuvada mängijale rekordiinfo:

  • tekitada tekstikast, mis kuvatakse mängu lõpus, kui tehti uus rekord
  • lisada uus tekstikast mänguväljale:
    • vihje nr 1: mängu lõpus kuvatav kiht on UI (NB! antud kiht ja selle elemendid pole vaikimisi näha) – st sellele tekstkastile tuleb määrata sama kiht
    • vihje nr 2: UI kihi elemente näed, kui muudad Layer Editor’s UI kihi nähtavaks (silmakujuline ikoon on aktiivne) ja teised kihid nähtamatuks (silmakujuline ikoon on läbikriipsutatud)
  • peita tekitatud tekstikast stseeni alguses (kuna me ei tea, kas meil läheb seda vaja):
    • vihje nr 1: stseeni algusega seotud sündmused on At the beginning of the Scene all
    • vihje nr 2: objekte saab nähtavaks muuta ja ära peita Add action -> Common actions of all objects -> Visibility alt
  • kui mängija tegi vähem katseid, kui senine rekord, siis:
    • muuta viimati tekitatud tekstikast nähtavaks:
      • vihje nr 1: otsus selle kohta, kas seda vaja läheb, tuleb teha osas Check if game is won
      • vihje nr 2: kontroll, kas rekord tehti, on seotud globaalsele muutujale mangurekord uue väärtuse omistamisega

Kui kõik vajalik on tehtud, siis tuleb muudatused ka salvestada: File -> Save

Seekordseks nuputamismänguks on klassikaline poomismäng.