Hur man skapar en interaktiv fiktion spel som "Zork" (5 / 7 steg)
Steg 5: Lägga till ett tecken
Fram till detta steg, du där ensam i spelet. Tecken är användbara för att spelaren eller döda den. Oroa dig inte, vi kommer bara lägga till en trevlig drake i detta spel. Han kommer att kunna hjälpa dig att få nyckeln, och du kommer att kunna fråga honom om en hel del ämnen.
Som alltid, definieras ett tecken av uttrycket "objekt". Men som det har attributet Animera , kompilatorn vet att det är en levande karaktär.
De specifika åtgärderna som ges i blocket liv . uttrycket "Fråga" innehåller en switch på den andra variabeln. den andra variabeln innehåller föremål för vad du talar om.
Objektet dragon "dragon"
med namnet 'red' 'drake' "djur",
Beskrivning "en röd drake står här. Han slutar inte tittar på dig. ",
inledande "en röd drake är här.",
found_in DragonRoom,
liv [sökord1 sökord2;
Berätta: skriva ut "draken inte lyssnar du. ^"; rtrue;
Attack: skriva ut "ska du inte. Han kan dela eld. ^ "; rtrue;
Kyss: skriva ut "Hmm... nr. ^ "; rtrue;
Svar, fråga:
word1 = Substantiv;
sökord2 = andra.
om (word1 == 33) {word1 = sökord2;}
Växla (word1) {
"Hej", "Hej": "~ Hello, stranger. ~";
"nyckel", "hjälp": "~ utgångsdörren är låst. För att hitta nyckeln, måste du svara på en gåta. Om du är redo, jag kan sjunga det. ~ ";
"Hej", "Hej": "~ Hello, stranger. ~";
"dörren", "avsluta", "låsa": "~ Hmmm. Jag kan hjälpa dig att hitta nyckeln. ~ ";
"enigma", "game", "song": "~ här är gåtan: på morgonen, den har fyra ben. Vid middagstid, den har två ben. på natten; Det har tre. Vad är det? ~ ";
"man", "pojke", "flicka", "mänskliga", "män", "damen": "~ du hittat lösningen på gåtan. Grattis! Nyckeln är i gyllene kistan. Se upp, försök inte att öppna annan! ~ ^ ";
"lösning": "Du måste hitta svaret själv.";
standard: skriva ut "inget svar. ^"; rtrue;
}
],
har animera static;
namn ger igen drakens namn synonymer
Beskrivning : den... Beskrivning
första : texten visade när spelaren går in i rummet
found_in : platsen för draken
kvarteret liv innehåller alla "levande" koden:
berätta : text skrivs ut när spelaren kommer att använda "Tipsa dragon om något"
Attack, Kiss : du bör prova. nyckelordet Rtrue innebär att spelet kommer att skriva ut text och avbryta standardmeddelanden som. Utan den, har du två meningar: din och den redan förvalet. De listas här.
Svar, fråga : här, jag använder en speciell kod för att få spelarens handlingar.
nyckelordet Substantiv är föremål när spelaren säger något till tecken
andra är föremål när spelaren ber om något
Tanken här är att blanda de två åtgärderna svar och Ask i ett block av kod.
Om substantivet ordet är tom (= 33 i informera) betyder det att ämnet för frågan ges av ordet andra.
För att avsluta, använder jag en strömbrytare uttalande för att ge Svaren.
"Hej", "Hej": "~ Hello, stranger. ~";
Innebär att när spelaren kommer att säga hej eller Hej till draken, han svarar "Hej främling". Den ~ innebär att en dubbel-offert (") kommer att skrivas ut.
Idén till spelaren är att be draken för hjälp eller för nycklarna. Draken kommer att svara med en gåta. Den gåta ledtråden lagras i raden:
man ","pojke","flicka","mänskliga","män","damen":" ~ du hittat lösningen på gåtan. Grattis! Nyckeln är i gyllene kistan. Se upp, försök inte att öppna annan! ~ ^ ";
Spara kod, kompilera och köra den. Flytta till dragon rummet. Det bör fungera som presenteras i skärmdumpen: