Kazalo:
- 1. korak: Ustvarite svojega predvajalnika
- 2. korak: Nova koda sobe
- 3. korak: Ustvarjanje povezave iz spremenljivke
- 4. korak: Preizkusite
- 5. korak: Dodajte seznam sob
- 6. korak: Odstranite sobe
- 7. korak: Testiranje
- 8. korak: Čudnosti s sladkorno kocko in predmeti
- 9. korak: funkcija Clone ()
- 10. korak: To je to zaenkrat
2025 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2025-01-23 15:08
Vesel sem, da ste se mi spet pridružili! To pomeni, da vas Wumpus še ni pojedel. Dobro!
Za tiste, ki niste seznanjeni, je to nabor vadnic, s katerimi bom pomagal svoji ljubki ojki-skootchy sestrični pri svojem starejšem projektu. Te vadnice naj bi bile referenca za vse, kar lahko storite z nekaterimi programskimi funkcijami Twine in Sugarcube. Če želite nadaljevati, lahko prvo vadnico najdete tukaj.
V zadnji vadnici sem zgradil majhen nabor sob, ki jih igralec lahko razišče. Dodal sem predmet Wumpus in naredil nekaj splošne kode prostora, da spremenim, kaj je prikazano v vsaki sobi, odvisno od tega, kje je Wumpus.
1. korak: Ustvarite svojega predvajalnika
Ta korak je zelo preprost. V bistvu uporabljam samo isto kodo kot moj $ wumpus, vendar s spremenljivko $ player.
2. korak: Nova koda sobe
Splošno kodo sobe ste spremenili, tako da je vrednost $ player trenutna soba. Nato primerjajte $ wumpus s $ playerjem namesto trenutne sobe.
To je manjša sprememba in ni nujno potrebna, vendar rad ohranim svojo kodo.
3. korak: Ustvarjanje povezave iz spremenljivke
Končno želim povezavo v svoji začetni sobi zamenjati s tisto, ki se spremeni glede na vrednost $ player. To lahko storite s funkcijo "" v Sugarcube. Več o tem lahko preberete na strani z dokumentacijo Sugarcube.
Prvi niz po našem ukazu je fraza, ki se bo pojavila v našem odlomku. Drugi je ime odlomka, na katerega se želimo povezati. Uporabljam "Hunt the Wumpus!" kot moj stavek, vendar bi lahko namesto tega uporabili našo spremenljivko, če želimo, da igralec vnaprej ve, kam gre, na primer:
4. korak: Preizkusite
Ko preizkusite svojo kodo, bi morali ugotoviti, da je bila vaša povezava zamenjana s katero koli frazo, ki ste jo napisali prej. Če ga kliknete, se odprete v naključno sobo v igri.
Na žalost vas to lahko pripelje tudi naravnost v sobo Wumpus! To trenutno ni veliko pomembno, toda v resnični igri bi bilo takojšnje igre konec. To moramo popraviti.
5. korak: Dodajte seznam sob
Najprej bomo ustvarili seznam sob za lažje upravljanje sob. Z razglasitvijo tega niza lahko z njim nastavimo vrednosti $ player in $ wumpus brez ponavljanja kode. Ima tudi drugo prednost, ki jo bomo raziskali v nadaljevanju.
Testiranje s to kodo bi se moralo obnašati tako kot prej.
6. korak: Odstranite sobe
Kodi sem dodal eno vrstico kode od prej (označeno).
Nizki v Sugarcube imajo vgrajeno funkcijo, ki omogoča brisanje elementov iz njih po imenu. V tem primeru, ko dodelimo sobo $ wumpus, jo lahko izbrišemo s našega $ roomlist. Ta funkcija pa je majhna. Ne bo delovalo, če izhod funkcije ni dodeljen ali na nek način uporabljen. Da bi to uredil, sem ustvaril začasno spremenljivko _temp.
V Sugarcube se začasne spremenljivke začnejo s podčrtajem (_) namesto dolarja ($). Uporabne so, ker se po zagonu odlomka izbrišejo, zato vam ni treba skrbeti, da se imena spremenljivk prekrivajo.
Izbrisam tudi $ player room s $ roomlist, seveda.
7. korak: Testiranje
Čeprav bi kodo lahko izvajali tako, kot je zdaj, to ne bi bil zelo temeljit test. Če zaženemo kodo in ugotovimo, da sta $ player in $ wumpus dodeljena različnim prostorom, ne vemo, ali je to zato, ker koda deluje, ali je to le naključje. Seveda bi lahko kodo izvedli večkrat in domnevali, da če jim nikoli ne dodeli iste sobe, jih nikoli ne bo, vendar bo to trajalo večno in še vedno ni 100% zagotovilo, da se to nikoli ne more zgoditi.
Namesto tega potrebujemo način za preverjanje.
Na vrh našega uvodnega odlomka sem dodal tri vrstice, ki nam bodo omogočile, da vidimo vrednosti spremenljivk $ wumpus, $ player in $ roomlist. Zaradi načina, kako smo nastavili kodo, vemo, da je treba sobo $ wumpus in $ player room odstraniti s seznama $ roomroom.
Ko zaženemo to kodo, lahko preverimo, ali je temu tako.
8. korak: Čudnosti s sladkorno kocko in predmeti
Predmeti sladkorne kocke so nekoliko čudni. Naj to pokažem.
Medtem ko sem prvotno gradil ta projekt, sem hotel shraniti svoj $ roomlist na spremenljivko $ saveroom, preden sem iz njega izbrisal sobe. Mislil sem, da mi bo kasneje prišel prav.
Ko sem dobil neko čudno vedenje iz te kode, sem na uvodno stran dodal drugo vrstico, da sem si ogledal spremenljivko $ saveroom (druga slika).
Bil sem šokiran, ko sem ugotovil, da so bili z mojega shranjenega seznama izbrisani tudi elementi, ki sem jih izbrisal s $ roomlist! To lahko vidite v akciji na tretji sliki.
To je zato, ker ko kopirate takšno matriko, pravzaprav ne poveste Twineu, naj kopira matriko, ampak povedate Twineu, da sta ti dve spremenljivki enaka matrika. Ko z eno spremenljivko naredite nekaj v matriki, spremeni isto matriko, na katero gleda druga spremenljivka!
To lahko popravimo s funkcijo clone ().
9. korak: funkcija Clone ()
O funkciji clone () lahko preberete na strani z dokumentacijo Sugarcube.
"Plitva" kopija je tisto, kar smo počeli prej. Namesto da bi naredil popolno kopijo celotnega niza, samo predpostavlja, da vaša spremenljivka deluje z istim nizom. Namesto plitke kopije naredi clone () "globoko" kopijo, ki se obnaša, kot bi pričakovali. Vsak element matrike je kopiran v novo matriko in je popolnoma ločen od izvirnika.
Če preizkusimo to novo kodo, ugotovimo, da deluje po pričakovanjih.
Seveda ni pomembno, ali obdržite $ roomlist ali ne. Za namene mojega projekta tega ne nameravam. Vse to je bilo samo za prikaz globokih in plitvih kopij.
10. korak: To je to zaenkrat
Dodali smo kodo, ki igralcu omogoča, da začne v naključni sobi. Poleg tega smo odpravili napako, pri kateri bi igralec začel v isti sobi kot Wumpus.
Izvedeli smo, kako ustvariti povezave iz spremenljivk in kako Sugarcube obravnava kopiranje matrike.
Stvari se krepijo, a šele začenjamo!
Vesel lov!
Priporočena:
Kako zgraditi LED kocko 8x8x8 in jo upravljati z Arduinom: 7 korakov (s slikami)
Kako zgraditi LED kocko 8x8x8 LED in jo nadzorovati z Arduinom: januar 2020 ureditev: To puščam, če jo želi kdo uporabiti za ustvarjanje idej, vendar na podlagi teh navodil ni več smisla graditi kocke. IC gonilnikov LED niso več izdelani, obe skici pa sta bili napisani v stari različici
Splošne sobe v vrvici s sladkorno kocko: 11 korakov
Splošne sobe v Twine With Sugarcube: Pozdravljeni, pozdravljeni in dobrodošli v mojem vodiču o gradnji Wumpus Hunt v Twine with Sugarcube! Twine je zelo preprosto orodje, namenjeno ustvarjanju besedilnih pustolovskih iger! Moja najljubša sestrična se je za svoj višji projekt odločila igrati z Twineom,
Naredite neskončno zrcalno kocko: 12 korakov (s slikami)
Naredite zrcalno kocko neskončnosti: ko sem iskal informacije pri izdelavi svojega prvega neskončnega ogledala, sem naletel na nekaj slik in videoposnetkov neskončnih kock in vsekakor sem si želel narediti enega svojih. Glavna stvar, ki me je zadrževala, je bila ta, da sem hotel narediti drugače
Kako zmetati kocko s Pythonom: 9 korakov
Kako zmetati kocko z uporabo Pythona: Naslednja navodila vas bodo vodila, kako ustvariti modul Python za "zvijanje" kocke. Ta modul bo ustvaril naključna števila iz teh računalniških kock. Zagotovil bom funkcije, potrebne za izdelavo modula, in opisal kot
Kako kodirati preprosto naključno navidezno kocko: 6 korakov
Kako kodirati preprosto naključno navidezno kocko: Pozdravljeni vsi !!!!! To je moj prvi pouk in naučil vas bom, kako kodirati virtualno kocko na računalniku ali pametnem telefonu. Uporabljam HTML, JavaScript in CSS, upam, da vam bo všeč in ne pozabite glasovati zame v spodnjem kontekstu