Indholdsfortegnelse:
- Trin 1: Opret din afspiller
- Trin 2: Ny værelseskode
- Trin 3: Oprettelse af et link fra en variabel
- Trin 4: Test
- Trin 5: Tilføj en rumliste
- Trin 6: Fjernelse af værelser
- Trin 7: Test
- Trin 8: Oddities With Sugarcube and Objects
- Trin 9: Funktionen Klon ()
- Trin 10: Sådan er det nu
![Links fra variabler i garn med sukkerterning: 10 trin Links fra variabler i garn med sukkerterning: 10 trin](https://i.howwhatproduce.com/images/005/image-13232-j.webp)
Video: Links fra variabler i garn med sukkerterning: 10 trin
![Video: Links fra variabler i garn med sukkerterning: 10 trin Video: Links fra variabler i garn med sukkerterning: 10 trin](https://i.ytimg.com/vi/QUY_sazqgkY/hqdefault.jpg)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:26
![Links fra variabler i garn med sukkerterning Links fra variabler i garn med sukkerterning](https://i.howwhatproduce.com/images/005/image-13232-1-j.webp)
Jeg er så glad for at du har sluttet mig igen! Det betyder, at Wumpus ikke har spist dig endnu. Godt!
For dem af jer, der ikke er bekendt, er dette et sæt tutorials, jeg laver for at hjælpe min yndige oochy-skootchy widdle fætter med sit seniorprojekt. Disse selvstudier er beregnet til at være en reference til, hvad du kan gøre med nogle af programmeringsfunktionerne i garn og sukkerkube. Hvis du vil følge med, kan du finde den første vejledning her.
I den sidste tutorial byggede jeg et lille sæt værelser, som spilleren kan udforske. Jeg tilføjede et Wumpus -objekt og lavede en generisk rumkode til at ændre, hvad der blev vist i hvert værelse, afhængigt af hvor Wumpus er.
Trin 1: Opret din afspiller
![Opret din afspiller Opret din afspiller](https://i.howwhatproduce.com/images/005/image-13232-2-j.webp)
Dette trin er meget enkelt. I det væsentlige bruger jeg bare den samme kode som min $ wumpus, men med en $ player -variabel i stedet.
Trin 2: Ny værelseskode
![Ny værelseskode Ny værelseskode](https://i.howwhatproduce.com/images/005/image-13232-3-j.webp)
Ændrede din generiske værelseskode, så værdien af $ player er det aktuelle rum. Sammenlign derefter $ wumpus med $ player i stedet for det aktuelle værelse.
Dette er en mindre ændring og ikke helt nødvendig, men jeg kan godt lide at holde min kode organiseret.
Trin 3: Oprettelse af et link fra en variabel
![Oprettelse af et link fra en variabel Oprettelse af et link fra en variabel](https://i.howwhatproduce.com/images/005/image-13232-4-j.webp)
Endelig vil jeg erstatte linket i mit startrum til et, der ændres baseret på værdien af $ player. Dette kan gøres med funktionen "" i Sugarcube. Du kan læse mere om det på Sugarcubes dokumentationsside.
Den første streng efter vores kommando er den sætning, der vises i vores passage. Den anden er navnet på den passage, vi vil linke til. Jeg bruger "Hunt the Wumpus!" som min sætning, men vi kunne bruge vores variabel der i stedet, hvis vi vil have spilleren til at vide, hvor de skal hen på forhånd, sådan her:
Trin 4: Test
![Prøve Prøve](https://i.howwhatproduce.com/images/005/image-13232-5-j.webp)
![Prøve Prøve](https://i.howwhatproduce.com/images/005/image-13232-6-j.webp)
Når du tester din kode, skal du opdage, at dit link er blevet erstattet med den sætning, du har skrevet før. Hvis du klikker på det, kommer du til et tilfældigt rum i dit spil.
Desværre kan dette også tage dig direkte til Wumpus -rummet! Det gør ikke så meget lige nu, men i et rigtigt spil ville det være et øjeblikkeligt spil slut. Det skal vi ordne.
Trin 5: Tilføj en rumliste
![Tilføj en værelsesliste Tilføj en værelsesliste](https://i.howwhatproduce.com/images/005/image-13232-7-j.webp)
Først skal vi oprette en rumliste for at gøre det lettere at administrere værelser. Ved at deklarere dette array kan vi bruge det til at indstille vores $ player- og $ wumpus -værdier uden at gentage kode. Det har også en anden fordel, som vi vil udforske næste gang.
Test med denne kode skal opføre sig ligesom den havde før.
Trin 6: Fjernelse af værelser
![Eliminerende værelser Eliminerende værelser](https://i.howwhatproduce.com/images/005/image-13232-8-j.webp)
Jeg har tilføjet en enkelt kodelinje til koden fra før (fremhævet).
Arrays i Sugarcube har en indbygget funktion, der lader dig slette elementer fra dem ved navn. I dette tilfælde kan vi, når vi tildeler $ wumpus et værelse, slette dette værelse fra vores $ roomlist. Denne funktion er dog finurlig. Det fungerer ikke, medmindre output fra funktionen er tildelt eller brugt på en eller anden måde. For at tage mig af det har jeg oprettet den midlertidige variabel _temp.
I Sugarcube starter midlertidige variabler med en understregning (_) i stedet for en dollar ($). De er nyttige, fordi de bliver slettet, når passagen er kørt, så du behøver ikke bekymre dig om overlappende variabelnavne.
Jeg sletter også $ player -rummet fra $ roomlist, bare som en selvfølge.
Trin 7: Test
![Test Test](https://i.howwhatproduce.com/images/005/image-13232-9-j.webp)
![Test Test](https://i.howwhatproduce.com/images/005/image-13232-10-j.webp)
Selvom vi kunne køre koden, som den er nu, ville det ikke være en meget grundig test. Hvis vi kører koden og finder ud af, at $ player og $ wumpus er tildelt forskellige rum, ved vi ikke, om det er fordi koden virker, eller om det bare er en tilfældighed. Sikker på, vi kunne køre koden mange gange og antage, at hvis det aldrig tildeler dem begge det samme rum, som det aldrig vil, men det vil tage evigt, og det er stadig ikke en 100% sikkerhed for, at det aldrig kan ske.
I stedet har vi brug for en måde at kontrollere.
Jeg har tilføjet tre linjer til toppen af vores intropassage, der lader os se værdierne for vores $ wumpus-, $ player- og $ roomlist -variabler. På grund af den måde, vi konfigurerede vores kode på, ved vi, at $ wumpus -rummet og $ spillerrummet bør elimineres fra $ roomlisten.
Når vi kører denne kode, kan vi kontrollere, om det er tilfældet.
Trin 8: Oddities With Sugarcube and Objects
![Oddities With Sugarcube and Objects Oddities With Sugarcube and Objects](https://i.howwhatproduce.com/images/005/image-13232-11-j.webp)
![Oddities With Sugarcube and Objects Oddities With Sugarcube and Objects](https://i.howwhatproduce.com/images/005/image-13232-12-j.webp)
![Oddities With Sugarcube and Objects Oddities With Sugarcube and Objects](https://i.howwhatproduce.com/images/005/image-13232-13-j.webp)
Sugarcube -objekter er lidt underlige. Lad mig demonstrere dette.
Mens jeg oprindeligt byggede dette projekt, ville jeg gemme min $ roomlist til en $ saveroom -variabel, før jeg begyndte at slette værelser fra den. Jeg regnede med at det ville komme til nytte senere.
Da jeg fik en underlig adfærd fra denne kode, tilføjede jeg en anden linje til min intro -side for at lade mig se på min $ saveroom -variabel (andet billede).
Jeg var chokeret over at opdage, at de elementer, jeg havde slettet fra $ roomlist, også var blevet slettet fra min gemte liste! Du kan se dette i aktion på det tredje billede.
Dette skyldes, at når du kopierer et array som dette, fortæller du faktisk ikke Twine at kopiere arrayet, du fortæller Twine, at disse to variabler er det samme array. Når du gør noget ved arrayet ved hjælp af en variabel, ændrer det det samme array, som den anden variabel ser på!
Vi kan løse dette med funktionen klon ().
Trin 9: Funktionen Klon ()
![Klonen () -funktionen Klonen () -funktionen](https://i.howwhatproduce.com/images/005/image-13232-14-j.webp)
![Klonen () -funktionen Klonen () -funktionen](https://i.howwhatproduce.com/images/005/image-13232-15-j.webp)
Du kan læse om klon () -funktionen på Sugarcube -dokumentationssiden.
En "lav" kopi er, hvad vi lavede før. I stedet for at lave en komplet kopi af hele arrayet, antager det bare, at din variabel arbejder med det samme array. I stedet for en lav kopi laver klon () en "dyb" kopi, som opfører sig som du ville forvente. Hvert element i arrayet kopieres over til et nyt array og er totalt adskilt fra originalen.
Hvis vi tester denne nye kode, finder vi ud af, at den fungerer som forventet.
Selvfølgelig er det ligegyldigt, om du beholder $ roomlist eller ej. I forbindelse med mit projekt vil jeg ikke. Dette var bare for at demonstrere dybe vs. overfladiske kopier.
Trin 10: Sådan er det nu
![Det er det for nu! Det er det for nu!](https://i.howwhatproduce.com/images/005/image-13232-16-j.webp)
Vi har tilføjet kode, der lader vores spiller starte i et tilfældigt rum. Ud over det har vi elimineret en fejl, hvor spilleren ville starte i samme rum som Wumpus.
Vi lærte om, hvordan man opretter links fra variabler, og hvordan array -kopiering behandles af Sugarcube.
Tingene stiger, men vi er lige begyndt!
God jagt!
Anbefalede:
Generiske værelser i garn med sukkerterning: 11 trin
![Generiske værelser i garn med sukkerterning: 11 trin Generiske værelser i garn med sukkerterning: 11 trin](https://i.howwhatproduce.com/images/005/image-13228-j.webp)
Generic Rooms in Twine With Sugarcube: Hej hej og velkommen til min tutorial om at bygge Wumpus Hunt i garn med Sugarcube! Twine er et meget simpelt værktøj, designet til at skabe teksteventyrsspil! Min yndlings lille fætter har valgt at lave et spil med Twine til sit seniorprojekt, en
12x12 LEDX fra flugt fra Tarkov: 10 trin (med billeder)
![12x12 LEDX fra flugt fra Tarkov: 10 trin (med billeder) 12x12 LEDX fra flugt fra Tarkov: 10 trin (med billeder)](https://i.howwhatproduce.com/images/007/image-19196-j.webp)
12x12 LEDX From Escape From Tarkov: Engang efter russisk EFT -fællesskabspodcast, hvor en af gæsterne sagde, at dyre genstande, f.eks. LEDX, skulle indtage et større antal slots i sikre containere … Det skete ikke i 0,12,6 patch, men det skete på mit værksted
Opret Banggood -tilknyttede (henvisning) links lettere end nogensinde: 4 trin
![Opret Banggood -tilknyttede (henvisning) links lettere end nogensinde: 4 trin Opret Banggood -tilknyttede (henvisning) links lettere end nogensinde: 4 trin](https://i.howwhatproduce.com/images/002/image-3041-12-j.webp)
Generer Banggood Affiliate (Henvisning) links lettere end nogensinde: Kondenseret version af denne instruerbare kan findes på min personlige blog Tilknyttet salg er en stor kilde til ekstra indkomst for indholdsskabere, og mange mennesker på instruktører bruger dem. På et mere populært websted, der har affiliate program er forbudt
Garn Globe Meditation Lampe: 5 trin
![Garn Globe Meditation Lampe: 5 trin Garn Globe Meditation Lampe: 5 trin](https://i.howwhatproduce.com/images/001/image-2847-35-j.webp)
Garn Globe Meditation Lamp: I denne vejledning vil jeg vise dig, hvordan du bygger en garnklods lampe med nogle lysdioder, kobberbånd, berøringssensor og ATtiny45. Lampen tændes og har falmende effekt, når du holder sensoren. Nødvendige materialer: 3 lysdioder, enhver farve, du ville
Garn-dækket USB! Kan tilpasses: 5 trin
![Garn-dækket USB! Kan tilpasses: 5 trin Garn-dækket USB! Kan tilpasses: 5 trin](https://i.howwhatproduce.com/preview/how-and-what-to-produce/10962323-yarn-covered-usb-customizable-5-steps-j.webp)
Garn-dækket USB! Kan tilpasses: Vil du tilpasse din USB? Er farven på din USB ikke din favorit?