Stap 6: Speel het!
OK, is de bron nu bijna voltooid. Bel de "compile.bat"-bestand om mygame.z5 te updaten. Met Gargoyle openen. Probeer de volgende opdrachten:
naar het noorden
Neem alle
naar het oosten
onderzoeken van de draak
Ga west
Zuid
open deur
Zuid
Om te eindigen van het spel, moeten we gewoon:
-de speler doden wanneer hij probeert te openen van de kisten alvorens de draak te vragen voor het antwoord,
-einde van het spel in overwinning, wanneer de speler opent de deur.
Voor het eerste punt, zullen we een globale variabele toevoegen in het spel. Het spel zal vertellen als de draak enigma werd opgelost of niet. Als dat niet het geval is, zullen beide borst worden gevangen.
Een algemene variabele wordt verklaard in het eerste deel van de bron, net na de drie constante regels. Wij zullen toevoegen:
Global EnigmaSolved = false;
Nu, zullen we de code van onze twee kisten te wijzigen:
object SilverChest "Zilveren borst"
met beschrijving "A mooie zilveren borst.",
naam 'zilver' 'borst',
found_in TreasureRoom,
vóór [;
Open: afdrukken "u opent de zilveren borst. Een heldere licht kwam van binnenuit. Voel je direct slecht.";
deadflag = 1;
rtrue;
],
heeft van de statische openable container;
object GoldenChest "Gouden borst"
met de beschrijving "Een mooie borst, gemaakt van goud.",
naam 'goud' 'gouden' 'borst',
found_in TreasureRoom,
vóór [;
Open: wanneer (EnigmaSolved == false) {}
afdrukken "u opent de gouden borst. Een heldere licht kwam van binnenuit. U immedialty feel bad.";
deadflag = 1;
rtrue;
}
],
heeft van de statische openable container;
De nieuwe voordat blok betekent dat wij de acties zal vangen gevraagd door de speler, hier de actie "open". Als de waarde false, zullen we het weergeven van een bericht, en we de waarde van een systeemvariabele, deadflag zal veranderen, zullen we de variabele EnigmaSolved, testen. De waarde 1 betekent dat de speler sterft. Het sleutelwoord Rtrue betekent dat we niet willen dat het standaardbericht. Voor de zilveren borst hebben we niet voor het testen van de variabele, zoals deze borst altijd gevaarlijk is...
De laatste wijziging is het wijzigen van de EnigmaSolved variabele wanneer... de speler antwoord het raadsel op de draak. Zijn eenvoudig, gewoon toevoegen aan de dragon-code:
Object draak "draak"
met de naam 'red' 'draak' 'dier',
Beschrijving "een rode draak staat hier. Hij stopt niet op zoek naar jou. ",
eerste "een rode draak is hier."
found_in DragonRoom,
leven [word1 word2;
Vertellen: afdrukken "de draak u luistert niet. ^"; rtrue;
Aanval: afdrukken "je moet niet. Hij brand kunt splitsen. ^ ";" rtrue;
Kus: afdrukken "Hmm... Nr. ^ "; rtrue;
Beantwoorden, vragen:
woord1 = zelfstandig naamwoord;
word2 = tweede;
Als (word1 == 33) {word1 = word2;}
schakelaar (word1) {}
'Hallo', 'Hallo': "~ Hello, vreemdeling. ~";
'sleutel', 'help': "~ de afrit deur is vergrendeld. Om te zoeken naar de sleutel, moet u een raadsel beantwoorden. Als u klaar bent, kan ik het zingen. ~ ";"
'Hallo', 'Hallo': "~ Hello, vreemdeling. ~";
'deur', 'uitgangs', 'sluis': "~ Hmmm. Ik kan u helpen om de sleutel vinden. ~ ";"
'enigma', 'game', 'song': "~ hier is het raadsel: in de ochtend, hebben zij vier benen. Op de middag hebben het twee benen; in de nacht; het hebben van drie. Wat is het? ~ ";"
'man', 'jongen', 'girl', 'menselijk', 'mannen', 'dame': afdrukken "~ u vond de oplossing van het raadsel. Gefeliciteerd! De sleutel is binnen de gouden borst. Kijk uit, probeer niet te openen andere één! ~ ^ ";" EnigmaSolved = true; rtrue;
"oplossing": "U moet het antwoord vinden door uzelf.";
standaard: afdrukken "geen antwoord. ^"; rtrue;
}
],
heeft animatie static;
Dus nu, wanneer de speler het antwoord geeft, de variabele EnigmaSolved ingesteld op true. Zo, zijn nu mogelijk te openen op de borst en de sleutel krijgen.
Nu, om te eindigen onze spel, willen we aan het einde van het spel in overwinning, wanneer de speler opent en het bereiken van de deur. Zijn eenvoudig, we hebben net de dummy kamer-code te wijzigen:
object ExitRoom "Exit Room"
met
beschrijving [;
afdrukken "u bent vrij! Proficiat, je dit spel opgelost! ^^ ";" deadflag = 2; rtrue;
],
heeft licht;
Dus nu, wanneer de speler zal het bereiken van de kamer, een afwerking bericht zal worden afgedrukt, en de systeemvariabele is ingesteld op 2, zijn betekent dat je het avontuur gewonnen.
Sla de code en het compileren. Je moet niet je fouten. Indien aanwezig, controleer dan uw code. De volledige code wordt vermeld in de laatste stap.
Hier zijn de opdrachten voor het oplossen van het spel. Natuurlijk, is het niet de enige manier op te lossen. Maar zoals u de wandeling-trog weet, het is gemakkelijk!
ONDERZOEKEN VAN DE DEUR
OPEN DEUR
NAAR HET NOORDEN
GO EAST
KIJKEN NAAR DRAGON
ZEGGEN HI AAN DRAGON
DRAGON VRAGEN OVER HULP
DRAGON VRAGEN OVER SLEUTEL
DRAGON VRAGEN OVER ENIGMA
ZEG MAN AAN DRAGON
GA WEST
OPEN GOUDEN BORST
ONDERZOEKEN VAN DE SLEUTEL
NEEM HET
SOUTH
ONTGRENDELEN VAN DE DEUR
OPEN DEUR
NAAR HET ZUIDEN
Dat is alles, ik hoop dat u begrijpt dat het globale concept en de mogelijkheden van deze taal. Het informeren van de ontwerper handleiding is echt een goede bron van informatie, alsmede de kennis van Beginner's Guide.
Laat het me weten als iets niet werkt.