Sisällysluettelo:
- Vaihe 1: Luo soitin
- Vaihe 2: Uusi huonekoodi
- Vaihe 3: Linkin luominen muuttujasta
- Vaihe 4: Testaa
- Vaihe 5: Lisää huoneluettelo
- Vaihe 6: Huoneiden poistaminen
- Vaihe 7: Testaus
- Vaihe 8: Omituisuudet sokerikuution ja esineiden kanssa
- Vaihe 9: Kloonaus () -toiminto
- Vaihe 10: Se on nyt
Video: Linkit muuttujista narussa sokerikuutiossa: 10 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:00
Olen niin iloinen, että liityit taas kanssani! Tämä tarkoittaa, että Wumpus ei ole vielä syönyt sinua. Hyvä!
Niille teistä, jotka eivät ole tuttuja, tämä on joukko opetusohjelmia, joiden tarkoituksena on auttaa ihastuttavaa oochy-skootchy widdle serkkuani vanhemman projektinsa kanssa. Nämä opetusohjelmat on tarkoitettu viittauksiksi siihen, mitä voit tehdä joillakin Twine- ja Sugarcube -ohjelmointiominaisuuksilla. Jos haluat seurata, löydät ensimmäisen opetusohjelman täältä.
Viimeisessä opetusohjelmassa rakensin pienen joukon huoneita, joita pelaaja voi tutkia. Lisäsin Wumpus -objektin ja tein yleisen huonekoodin muuttaakseni, mitä näytettiin jokaisessa huoneessa sen mukaan, missä Wumpus on.
Vaihe 1: Luo soitin
Tämä vaihe on hyvin yksinkertainen. Käytän pohjimmiltaan vain samaa koodia kuin $ wumpus, mutta sen sijaan $ player -muuttujalla.
Vaihe 2: Uusi huonekoodi
Muutit huoneesi yleisen koodin, joten $ player -arvo on nykyinen huone. Vertaa sitten $ wumpusta $ playeriin nykyisen huoneen sijasta.
Tämä on pieni muutos, eikä täysin välttämätön, mutta pidän koodini järjestyksessä.
Vaihe 3: Linkin luominen muuttujasta
Lopuksi haluan korvata aloitushuoneessani olevan linkin linkiksi, joka muuttuu $ pelaajan arvon perusteella. Tämä voidaan tehdä Sugarcuben "" -toiminnolla. Voit lukea siitä lisää Sugarcuben dokumentaatiosivulta.
Ensimmäinen merkkijono käskymme jälkeen on lause, joka ilmestyy kappaleessamme. Toinen on sen kohdan nimi, johon haluamme linkittää. Käytän "metsästä Wumpusta!" lauseena, mutta voisimme käyttää muuttujaa sen sijaan, jos haluamme pelaajan tietävän minne he ovat menossa etukäteen, esimerkiksi näin:
Vaihe 4: Testaa
Kun testaat koodiasi, huomaat, että linkkisi on korvattu millä tahansa aiemmin kirjoittamallasi lauseella. Napsauttamalla sitä pääset pelisi satunnaiseen huoneeseen.
Valitettavasti tämä voi viedä sinut myös suoraan Wumpus -huoneeseen! Tällä ei ole väliä juuri nyt, mutta todellisessa pelissä se olisi heti ohi. Meidän on korjattava se.
Vaihe 5: Lisää huoneluettelo
Ensin aiomme luoda huoneluettelon huoneiden hallinnan helpottamiseksi. Ilmoittamalla tämän taulukon voimme käyttää sitä $ player- ja $ wumpus -arvojemme asettamiseen toistamatta koodia. Sillä on myös toinen etu, jota tutkimme seuraavaksi.
Tällä koodilla testaamisen pitäisi toimia kuten ennenkin.
Vaihe 6: Huoneiden poistaminen
Olen lisännyt yhden koodirivin aikaisempaan koodiin (korostettuna).
Sugarcuben matriiseissa on sisäänrakennettu toiminto, jonka avulla voit poistaa niistä elementtejä nimen mukaan. Tässä tapauksessa, kun olemme antaneet $ wumpusille huoneen, voimme poistaa huoneen $ roomlistaltamme. Tämä toiminto on kuitenkin näppärä. Se ei toimi, ellei toiminnon lähtöä ole määritetty tai käytetty jollakin tavalla. Huolehtiakseni siitä olen luonut väliaikaisen muuttujan _temp.
Sugarcubessa väliaikaiset muuttujat alkavat alaviivalla (_) dollarin ($) sijasta. Ne ovat hyödyllisiä, koska ne poistetaan, kun kohta on suoritettu, joten sinun ei tarvitse huolehtia muuttujien nimien päällekkäisyydestä.
Poistan myös $ player -huoneen $ roomlistista, aivan itsestäänselvyytenä.
Vaihe 7: Testaus
Vaikka voisimme suorittaa koodin sellaisena kuin se on nyt, se ei olisi kovin perusteellinen testi. Jos suoritamme koodin ja huomaamme, että $ player ja $ wumpus on määritetty eri huoneisiin, emme tiedä johtuuko se siitä, että koodi toimii vai onko se vain sattumaa. Toki, voisimme suorittaa koodin monta kertaa ja olettaa, että jos se ei koskaan anna heille molemmille samaa huonetta, niin ei koskaan, mutta se kestää ikuisesti, eikä se silti ole 100% varma siitä, että sitä ei voi koskaan tapahtua.
Sen sijaan tarvitsemme tavan tarkistaa.
Olen lisännyt johdantokappaleemme alkuun kolme riviä, joiden avulla voimme nähdä $ wumpus-, $ player- ja $ roomlist -muuttujien arvot. Koodimme asentamistavan vuoksi tiedämme, että $ wumpus -huone ja $ player -huone tulee poistaa $ roomlistasta.
Kun suoritamme tämän koodin, voimme tarkistaa, onko asia näin.
Vaihe 8: Omituisuudet sokerikuution ja esineiden kanssa
Sokerikuutukohteet ovat hieman outoja. Anna minun osoittaa tämä.
Rakennettaessa tätä projektia alun perin halusin tallentaa $ roomlistini $ saveroom -muuttujaan ennen kuin aloitin huoneiden poistamisen siitä. Luulin, että siitä on hyötyä myöhemmin.
Kun sain jotain outoa käyttäytymistä tästä koodista, lisäsin uuden rivin intro -sivulleni, jotta voin tarkastella $ saveroom -muuttujaani (toinen kuva).
Olin järkyttynyt huomatessani, että $ roomlistista poistamani elementit oli myös poistettu tallennetusta luettelostani! Näet tämän toiminnassa kolmannessa kuvassa.
Tämä johtuu siitä, että kun kopioit tällaisen taulukon, et todellakaan käsitä Twineä kopioimaan taulukkoa, kerrot Twineille, että nämä kaksi muuttujaa ovat sama taulukko. Kun teet jotain taulukolle yhdellä muuttujalla, se muuttaa samaa taulukkoa, jota toinen muuttuja katselee!
Voimme korjata tämän kloonitoiminnolla ().
Vaihe 9: Kloonaus () -toiminto
Voit lukea klooni () -toiminnosta Sugarcube -dokumentaatiosivulta.
"Matala" kopio on se, mitä teimme ennen. Sen sijaan, että otat koko kopion koko taulukosta, se vain olettaa, että muuttuja toimii saman taulukon kanssa. Matalan kopion sijaan klooni () tekee "syvän" kopion, joka toimii odotetulla tavalla. Jokainen taulukon elementti kopioidaan uuteen taulukkoon ja on täysin erillinen alkuperäisestä.
Jos testaamme tätä uutta koodia, havaitsemme sen toimivan odotetusti.
Ei tietenkään ole väliä, pidätkö $ roomlistin vai et. Projektiani varten en aio. Tämä oli vain osoittaakseen syvät vs. matalat kopiot.
Vaihe 10: Se on nyt
Olemme lisänneet koodin, jonka avulla pelaajamme voivat aloittaa satunnaisessa huoneessa. Tämän lisäksi olemme poistaneet virheen, jossa pelaaja aloittaisi samassa huoneessa kuin Wumpus.
Opimme kuinka luoda linkkejä muuttujista ja kuinka Sugarcube käsittelee matriisikopiointia.
Asiat etenevät, mutta olemme vasta aloittamassa!
Hyvää metsästystä!
Suositeltava:
Yleiset huoneet narussa sokerikuutiossa: 11 vaihetta
Yleiset huoneet langassa Sugarcubella: Hei hei ja tervetuloa opetusohjelmaani Wumpus Huntin rakentamisesta langassa Sugarcubella! Lanka on erittäin yksinkertainen työkalu, joka on suunniteltu tekstiseikkailupelien luomiseen! Suosikkipikkuserkkuni on valinnut tehdä pelin Twinen kanssa vanhimmalle projektilleen
Luo Banggood -yhteistyökumppanien linkit helpommin kuin koskaan: 4 vaihetta
Luo Banggood Affiliate (viittaus) -linkkejä helpommin kuin koskaan: Tämän ohjeen tiivistetty versio löytyy henkilökohtaisesta blogistani Kumppanimyynti on suuri lisälähde sisällöntuottajille, ja monet opetusvälineitä käyttävät ihmiset käyttävät niitä. kumppaniohjelma on Ban
Linkit Smart 7688 Duo Board - Aloittelijan opas: 5 vaihetta
Linkit Smart 7688 Duo Board | Aloitusopas: LinkIt Smart 7688 Duo on MT7688- ja ATmega32u4 -pohjainen avoin kehityskortti. Joka voidaan ohjelmoida arduino -ohjelmalla ja jota voidaan käyttää raskaana rinnakkain. Atmega -ohjainta käytetään Arduino -ohjelmointiin ja sulautettuun Linuxiin (O
Linkit One - musiikkisoitin: 4 vaihetta
Linkit One - musiikkisoitin: Linkit One -laitteessa on varmasti enemmän mahdollisuuksia kuin LED -valon vilkkuminen, siinä on WiFi, GSM, GPRS ja paljon muuta. Siinä on myös 3,5 mm: n ääniliitäntä ja SD -kortti, joten sain miettimään, voisitko toistaa mediaa Linkit One -laitteestasi ja osoittautua
Linkit ONE -asennusopas Windowsille: 7 vaihetta
Linkit ONE -asennusopas Windowsille: Linkit ONE on yksi vaikuttavimmista Arduinon kaltaisista levyistä. Se on mahtava korkean suorituskyvyn alusta esineiden internetille ja puettaville laitteille, mukaan lukien lukuisia ominaisuuksia, kuten WiFi ja Bluetooth 4.0 GSM- ja GPRS-GPS-äänikoodi