Turinys:
- 1 žingsnis: sukurkite grotuvą
- 2 veiksmas: naujas kambario kodas
- 3 žingsnis: sukurkite nuorodą iš kintamojo
- 4 žingsnis: išbandykite
- 5 veiksmas: pridėkite kambarių sąrašą
- 6 žingsnis: pašalinkite kambarius
- 7 žingsnis: bandymas
- 8 žingsnis: keistenybės su cukraus kubeliu ir objektais
- 9 veiksmas: klono () funkcija
- 10 žingsnis: dabar viskas
Video: Nuorodos iš kintamųjų virvėje su cukraus kubeliu: 10 žingsnių
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:45
Labai džiaugiuosi, kad vėl prisijungėte prie manęs! Tai reiškia, kad „Wumpus“jūsų dar nevalgė. Gerai!
Tiems iš jūsų, kurie nėra susipažinę, tai yra vadovėlių rinkinys, kurį aš padedu savo žavingam oochy-skootchy viduramžiui pusbroliui su savo vyresniuoju projektu. Šios pamokos turi būti nuoroda į tai, ką galite padaryti naudodami kai kurias „Twine“ir „Sugarcube“programavimo funkcijas. Jei norite sekti, pirmąją pamoką rasite čia.
Paskutinėje pamokoje aš pastatiau nedidelį kambarių rinkinį, kurį žaidėjas gali ištirti. Pridėjau „Wumpus“objektą ir sukūriau bendrąjį kambario kodą, kad pakeisčiau tai, kas rodoma kiekviename kambaryje, priklausomai nuo to, kur yra „Wumpus“.
1 žingsnis: sukurkite grotuvą
Šis žingsnis yra labai paprastas. Iš esmės aš tiesiog naudoju tą patį kodą kaip ir mano $ wumpus, bet naudoju $ player kintamąjį.
2 veiksmas: naujas kambario kodas
Pakeitėte bendrąjį kambario kodą, todėl $ player vertė yra dabartinis kambarys. Tada palyginkite $ wumpus su $ player vietoj dabartinio kambario.
Tai nedidelis pakeitimas ir nėra visiškai būtinas, tačiau man patinka tvarkyti savo kodą.
3 žingsnis: sukurkite nuorodą iš kintamojo
Galiausiai norėčiau pakeisti nuorodą mano pradiniame kambaryje į tą, kuri keičiasi atsižvelgiant į $ player vertę. Tai galima padaryti naudojant „“funkciją „Sugarcube“. Daugiau apie tai galite perskaityti „Sugarcube“dokumentacijos puslapyje.
Pirmoji eilutė po mūsų komandos yra frazė, kuri pasirodys mūsų ištraukoje. Antrasis yra ištraukos, su kuria norime susieti, pavadinimas. Aš naudoju "Medžiok Wumpus!" kaip mano frazė, bet mes galime naudoti savo kintamąjį, jei norime, kad žaidėjas iš anksto žinotų, kur eina, pavyzdžiui:
4 žingsnis: išbandykite
Kai tikrinate kodą, turėtumėte pastebėti, kad jūsų nuoroda buvo pakeista bet kokia anksčiau parašyta fraze. Spustelėję jį pateksite į atsitiktinį žaidimo kambarį.
Deja, tai taip pat gali nuvesti jus tiesiai į „Wumpus“kambarį! Šiuo metu tai neturi didelės reikšmės, tačiau tikrame žaidime tai būtų momentinis žaidimas. Turime tai sutvarkyti.
5 veiksmas: pridėkite kambarių sąrašą
Pirmiausia, norėdami palengvinti kambarių tvarkymą, sudarysime kambarių sąrašą. Skelbdami šį masyvą, mes galime jį naudoti nustatydami $ player ir $ wumpus reikšmes nekartodami kodo. Jis taip pat turi dar vieną pranašumą, kurį toliau nagrinėsime.
Testavimas naudojant šį kodą turėtų veikti taip pat, kaip ir anksčiau.
6 žingsnis: pašalinkite kambarius
Prie kodo pridėjau vieną kodo eilutę (paryškinta).
„Sugarcube“masyvai turi įmontuotą funkciją, leidžiančią iš jų ištrinti elementus pagal pavadinimą. Tokiu atveju, priskyrę $ wumpus kambarį, galime ištrinti tą kambarį iš $ roomlist. Tačiau ši funkcija yra sudėtinga. Jis neveiks, nebent funkcijos išvestis bus priskirtas ar kaip nors panaudotas. Norėdami tai padaryti, sukūriau laikiną kintamąjį _temp.
„Sugarcube“laikini kintamieji prasideda pabraukimu (_), o ne doleriu (USD). Jie yra naudingi, nes jie ištrinami paleidus ištrauką, todėl jums nereikia nerimauti dėl sutampančių kintamųjų pavadinimų.
Aš taip pat ištrinu $ žaidėjų kambarį iš $ roomlist, kaip savaime suprantama.
7 žingsnis: bandymas
Nors kodą galėtume paleisti tokį, koks jis yra dabar, tai nebūtų labai išsamus testas. Jei paleisime kodą ir pamatysime, kad $ player ir $ wumpus yra priskirti skirtingiems kambariams, mes nežinome, ar taip yra todėl, kad kodas veikia, ar tai tik atsitiktinumas. Žinoma, mes galėtume daug kartų paleisti kodą ir manyti, kad jei jis niekada nepriskiria jiems to paties kambario, to niekada ir nepadarys, bet tai užtruks amžinai ir tai vis tiek nėra 100% garantija, kad tai niekada neįvyks.
Vietoj to, mums reikia būdo patikrinti.
Įvadinio ištraukos viršuje pridėjau tris eilutes, kurios leis pamatyti mūsų $ wumpus, $ player ir $ roomlist kintamųjų vertes. Dėl savo kodo nustatymo žinome, kad $ wumpus kambarys ir $ player kambarys turėtų būti pašalinti iš $ roomlist.
Vykdydami šį kodą galime patikrinti, ar taip yra.
8 žingsnis: keistenybės su cukraus kubeliu ir objektais
Cukraus kubo objektai yra šiek tiek keistai. Leiskite tai parodyti.
Kol iš pradžių kūriau šį projektą, prieš pradėdamas ištrinti kambarius, norėjau išsaugoti savo $ roomlist į $ saveroom kintamąjį. Pagalvojau, kad vėliau pravers.
Kai gavau keistą elgesį iš šio kodo, įvadinį puslapį pridėjau dar vieną eilutę, kad galėčiau pažvelgti į savo kintamąjį $ saveroom (antra nuotrauka).
Nustebau sužinojęs, kad elementai, kuriuos ištryniau iš $ roomlist, taip pat buvo ištrinti iš mano išsaugoto sąrašo! Tai galite pamatyti veikdami trečioje nuotraukoje.
Taip yra todėl, kad kai kopijuojate tokį masyvą, jūs iš tikrųjų nesakote „Twine“, kad jis nukopijuotų masyvą, jūs sakote „Twine“, kad šie du kintamieji yra tas pats masyvas. Kai ką nors darote masyvui naudodami vieną kintamąjį, jis keičia tą patį masyvą, į kurį žiūri kitas kintamasis!
Tai galime išspręsti naudodami funkciją clone ().
9 veiksmas: klono () funkcija
Apie funkciją „klonas ()“galite perskaityti „Sugarcube“dokumentacijos puslapyje.
„Sekli“kopija yra tai, ką mes darėme anksčiau. Užuot pasidaręs pilną viso masyvo kopiją, daroma prielaida, kad jūsų kintamasis veikia su tuo pačiu masyvu. Vietoj seklios kopijos klonas () daro „gilią“kopiją, kuri elgiasi taip, kaip tikitės. Kiekvienas masyvo elementas nukopijuojamas į naują masyvą ir yra visiškai atskirtas nuo originalo.
Jei išbandysime šį naują kodą, pamatysime, kad jis veikia taip, kaip tikėtasi.
Žinoma, nesvarbu, ar išsaugosite $ roomlist, ar ne. Savo projekto tikslais aš nesiruošiu. Visa tai buvo tik siekiant parodyti gilias ir negilias kopijas.
10 žingsnis: dabar viskas
Pridėjome kodą, kuris leidžia mūsų žaidėjui pradėti atsitiktinį kambarį. Be to, pašalinome klaidą, kai žaidėjas pradėtų tame pačiame kambaryje kaip „Wumpus“.
Mes sužinojome, kaip sukurti nuorodas iš kintamųjų ir kaip masyvo kopijavimą tvarko „Sugarcube“.
Situacija sparčiai auga, bet mes tik pradedame!
Laimingos medžioklės!
Rekomenduojamas:
Bendri kambariai virvėje su cukraus kubeliu: 11 žingsnių
Bendri kambariai virvelėje su cukrumi: Sveiki, sveiki atvykę į mano pamoką apie „Wumpus Hunt“kūrimą špagate su „Sugarcube“! Špagatas yra labai paprastas įrankis, sukurtas teksto nuotykių žaidimams kurti! Mano mėgstamiausias mažasis pusbrolis savo vyresniajam projektui pasirinko sukurti žaidimą su „Twine“
Kaip patikrinti cukraus kiekį kraujyje: 10 žingsnių (su nuotraukomis)
Kaip patikrinti cukraus kiekį kraujyje: cukraus kiekio kraujyje valdymas yra labai svarbus tiems, kurie kenčia nuo diabeto. Svarbu žinoti, kaip tinkamai stebėti šiuos lygius. Kad rezultatai būtų tikslūs, reikia atlikti keletą veiksmų
Įvadas į Mičiganą Nuorodos: 5 žingsniai
Įvadas į Mičiganą Nuorodos: Mičigano universiteto nuorodos, ieškomos ir rodomos * tiesiogiai * „Google“paieškos puslapyje. Šiuo metu yra: (1) tiesioginės prieigos nuorodos į daugiau nei 34 000 universiteto bibliotekos žurnalų (2) nuorodos į UM tyrėjo laboratorijos puslapius pagal mokslinių tyrimų interesų profilį
Tikslus vielos nuėmiklis - naujos vaizdo nuorodos: 3 žingsniai
Tikslus vielos nuėmiklis - naujos vaizdo nuorodos: rankinis sukamasis vielos nuėmiklis iš „Bic“rašiklio, atsuktuvo ir skutimosi peiliuko. Neseniai nusipirkau 30AWG tefloninės vielos ritę. Maniau, kad tai puikiai tiks prototipų kūrimui, nes karštas lituoklis neištirps izoliacijos. Na, kažkaip ne
Gaukite RBG LED grandinę iš švytinčių ledo kubelių: 4 žingsniai
Gaukite RBG LED grandinę iš švytinčių ledo kubelių: galbūt jau matėte tuos žėrinčius ledo kubelius. Jie šviečia skirtingomis spalvomis ir turi daugybę režimų, tačiau jie yra gana brangūs (4–6 USD už kiekvieną) ir trunka tik kelias valandas. Aš jums parodysiu, kaip ištraukti grandinę ir įjungti ją iš kito šaltinio