Obsah:
2025 Autor: John Day | [email protected]. Naposledy zmenené: 2025-01-23 15:05
Som veľmi rád, že si sa ku mne opäť pridal! To znamená, že Wumpus vás ešte nezjedol. Dobre!
Pre tých z vás, ktorí nie sú oboznámení, je to súbor návodov, ktoré robím, aby som pomohol svojej rozkošnej sesternici oochy-skootchy widdle s jej starším projektom. Tieto návody majú byť referenciou toho, čo môžete robiť s niektorými programovacími funkciami Twine a Sugarcube. Ak sa chcete držať ďalej, prvý návod nájdete tu.
V poslednom návode som postavil malú sadu miestností, ktoré môže hráč preskúmať. Pridal som objekt Wumpus a urobil som všeobecný kód miestnosti, aby som zmenil to, čo bolo zobrazené v každej miestnosti, v závislosti od toho, kde sa Wumpus nachádza.
Krok 1: Vytvorte si prehrávač
Tento krok je veľmi jednoduchý. V zásade používam rovnaký kód ako môj $ wumpus, ale namiesto toho s premennou $ player.
Krok 2: Nový kód miestnosti
Bol zmenený váš generický kód miestnosti, takže hodnota $ player je aktuálna miestnosť. Potom porovnajte $ wumpus s $ prehrávačom namiesto aktuálnej miestnosti.
Toto je malá zmena a nie je úplne potrebná, ale rád by som udržal svoj kód organizovaný.
Krok 3: Vytvorenie odkazu z premennej
Nakoniec chcem nahradiť odkaz v mojej štartovacej miestnosti za odkaz, ktorý sa mení na základe hodnoty hráča $. To je možné vykonať pomocou funkcie "" v Sugarcube. Viac si o tom môžete prečítať na stránke dokumentácie k Sugarcube.
Prvý reťazec za naším príkazom je fráza, ktorá sa objaví v našej pasáži. Druhý je názov pasáže, na ktorú chceme odkazovať. Používam „Lovte Wumpusa!“ako moja fráza, ale mohli by sme namiesto toho použiť našu premennú, ak chceme, aby hráč vopred vedel, kam ide, takto:
Krok 4: Test
Pri testovaní kódu by ste mali zistiť, že váš odkaz bol nahradený akoukoľvek frázou, ktorú ste predtým napísali. Kliknutím naň sa dostanete do náhodnej miestnosti vo vašej hre.
Nanešťastie vás to môže tiež dostať priamo do miestnosti Wumpus! Na tom teraz veľmi nezáleží, ale v skutočnej hre, ktorá by znamenala okamžitý koniec hry. Musíme to napraviť.
Krok 5: Pridajte zoznam miestností
Najprv vytvoríme zoznam miestností, aby bola správa miestností jednoduchšia. Vyhlásením tohto poľa ho môžeme použiť na nastavenie hodnôt $ player a $ wumpus bez opakovania kódu. Má to aj ďalšiu výhodu, ktorú budeme skúmať ďalej.
Testovanie s týmto kódom by sa malo správať rovnako ako predtým.
Krok 6: Odstránenie miestností
Do kódu som predtým pridal jeden riadok kódu (zvýraznené).
Polia v Sugarcube majú vstavanú funkciu, ktorá vám umožňuje odstrániť z nich prvky podľa názvu. V takom prípade, keď priradíme miestnosti $ wumpus, môžeme ju odstrániť z nášho zoznamu $ room. Táto funkcia je však náročná. Nebude to fungovať, pokiaľ nebude výstup funkcie priradený alebo nejakým spôsobom použitý. Aby som sa o to postaral, vytvoril som dočasnú premennú _temp.
V Sugarcube začínajú dočasné premenné namiesto dolára ($) podčiarkovníkom (_). Sú užitočné, pretože sú vymazané po spustení pasáže, takže si nemusíte robiť starosti s prekrývaním názvov premenných.
Vymazávam tiež miestnosť $ player zo zoznamu $ roomlist, ako samozrejmosť.
Krok 7: Testovanie
Aj keď by sme mohli kód spustiť tak, ako je teraz, nebol by to veľmi dôkladný test. Ak spustíme kód a zistíme, že $ player a $ wumpus sú priradené k rôznym miestnostiam, nevieme, či je to preto, že kód funguje, alebo je to len náhoda. Iste, mohli by sme kód spustiť mnohokrát a predpokladať, že ak im obom nikdy nepriradí rovnakú miestnosť, ako to nikdy nebude, bude to trvať večnosť a stále to nie je stopercentné uistenie, že sa to nikdy nemôže stať.
Namiesto toho potrebujeme spôsob, ako to skontrolovať.
Do hornej časti úvodnej pasáže som pridal tri riadky, ktoré nám umožnia vidieť hodnoty našich premenných $ wumpus, $ player a $ roomlist. Vzhľadom na to, ako sme nastavili náš kód, vieme, že miestnosť $ wumpus a $ hráčska miestnosť by mali byť zo zoznamu $ roomlist odstránené.
Keď spustíme tento kód, môžeme sa presvedčiť, či je to tak.
Krok 8: Zvláštnosti s Sugarcube a predmetmi
Objekty Sugarcube sú trochu zvláštne. Dovoľte mi to predviesť.
Kým som pôvodne staval tento projekt, chcel som uložiť svoj $ roomlist do premennej $ saveroom, než som z neho začal vymazávať miestnosti. Myslel som si, že sa mi to neskôr bude hodiť.
Keď som z tohto kódu dostal nejaké zvláštne správanie, pridal som na svoju úvodnú stránku ďalší riadok, aby som sa mohol pozrieť na svoju premennú $ saveroom (druhý obrázok).
Bol som šokovaný, keď som zistil, že prvky, ktoré som odstránil z $ roomlist, boli tiež odstránené z môjho uloženého zoznamu! Môžete to vidieť v akcii na treťom obrázku.
Dôvodom je, že keď kopírujete pole takto, v skutočnosti nehovoríte motúzu, aby kopíroval pole, poviete motúzu, že tieto dve premenné sú rovnaké pole. Keď urobíte niečo s poľom pomocou jednej premennej, zmení to isté pole, na ktoré sa pozerá druhá premenná!
Môžeme to napraviť pomocou funkcie clone ().
Krok 9: Funkcia Clone ()
O funkcii clone () si môžete prečítať na stránke dokumentácie k Sugarcube.
„Plytká“kópia je to, čo sme robili predtým. Namiesto vytvárania úplnej kópie celého poľa iba predpokladá, že vaša premenná pracuje s rovnakým poľom. Namiesto plytkej kópie urobí clone () „hlbokú“kópiu, ktorá sa správa tak, ako by ste očakávali. Každý prvok poľa je skopírovaný do nového poľa a je úplne oddelený od pôvodného.
Ak otestujeme tento nový kód, zistíme, že funguje podľa očakávania.
Samozrejme, nezáleží na tom, či si ponecháte $ roomlist alebo nie. Na účely svojho projektu nejdem. Toto všetko bolo len na ukážku hlbokých a plytkých kópií.
Krok 10: To je nateraz všetko
Pridali sme kód, ktorý umožňuje nášmu hráčovi začať v náhodnej miestnosti. Okrem toho sme odstránili chybu, pri ktorej by hráč začínal v tej istej miestnosti ako Wumpus.
Dozvedeli sme sa, ako vytvárať odkazy z premenných a ako kopírovanie polí spracováva Sugarcube.
Veci nabiehajú, ale my ešte len začíname!
Šťastný lov!
Odporúča:
Počítadlo krokov - mikro: bit: 12 krokov (s obrázkami)
Počítadlo krokov - mikro: bit: Tento projekt bude počítadlom krokov. Na meranie našich krokov použijeme senzor akcelerometra, ktorý je vstavaný v Micro: Bit. Zakaždým, keď sa Micro: Bit zatrasie, pridáme k počtu 2 a zobrazíme ho na obrazovke
Všeobecné izby v motúze so Sugarcube: 11 krokov
Všeobecné miestnosti v motúze so Sugarcube: Dobrý deň, vitajte v mojom návode na stavbu hry Wumpus Hunt v motúze so Sugarcube! Motúz je veľmi jednoduchý nástroj určený na vytváranie textových dobrodružných hier! Moja obľúbená malá sesternica sa rozhodla zahrať si s Twine pre svoj seniorský projekt,
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): 8 krokov
Akustická levitácia s Arduino Uno krok za krokom (8 krokov): Ultrazvukové meniče zvuku L298N Dc napájací adaptér ženského adaptéra s mužským DC kolíkom Arduino UNOBreadboard Ako to funguje: Najprv nahráte kód do Arduino Uno (je to mikrokontrolér vybavený digitálnym a analógové porty na prevod kódu (C ++)
Bolt - Nočné hodiny pre bezdrôtové nabíjanie DIY (6 krokov): 6 krokov (s obrázkami)
Bolt - Nočné hodiny bezdrôtového nabíjania DIY (6 krokov): Indukčné nabíjanie (tiež známe ako bezdrôtové nabíjanie alebo bezdrôtové nabíjanie) je typ bezdrôtového prenosu energie. Na prenos elektriny do prenosných zariadení používa elektromagnetickú indukciu. Najbežnejšou aplikáciou je bezdrôtové nabíjanie Qi
Presný odstraňovač drôtov - nové odkazy na video: 3 kroky
Presný odizolovač drôtov - nové odkazy na video: Ručný rotačný odstraňovač drôtu z pera Bic, skrutkovača a žiletky. Nedávno som si kúpil cievku z teflónového drôtu 30AWG. Myslel som si, že by to bolo skvelé na prototypovanie, pretože horúca spájkovačka izoláciu neroztopí. No, akosi nie je