#!../bin/jacl # JACL TUTORIAL GAME # ----------------------------------------------------------------------------- # Copyright (C) Stuart Allen 1999-2000. All rights resevered. # ----------------------------------------------------------------------------- location schlafzimmer : schlafzimmer definite das "Schlafzimmer" west badezimmer south wohnzimmer {look write "Du bist in Deinem schlafzimmer. In der Mitte des" write "Zimmers steht ein grosses Bett, während westlich" write "ein Flur ins badezimmer führt.^" } object bett: bett definite das "Bett" short ein "Bett" mass scenery {look_under if Programmheft(parent) = limbo write "Gut versteckt unter dem Bett findest " write "Du das dieswöchige Programmheft.^" set Programmheft(parent) = here points 50 return endif write "Du es gibt sonst nichts anderes hier.^" } object Programmheft: programmheft heft definite das "Programmheft" short ein "Programmheft" long "Hier befindet sich ein Programmheft." parent limbo mass 5 {examine : read write "Es enthält das aktuelle Fernsehprogamm.^" } {give_to_rick : show_to_rick write "~Cool!~ Rick grunzt zufrieden, als er dir das Heft " write "aus den Händen reisst.^" write "Zufrienden damit, heute wenigstens eine Sache " write "auf die Kette bekommen zu haben, legst Du Dich wieder hin.^" points 50 execute +game_over } location badezimmer : badezimmer definite das "Badezimmer" short ein "Badezimmer" east schlafzimmer {look write "Du bist im badezimmer. Der einzige Weg von hier " write "führt zurück ins schlafzimmer.^" } {movement if COMPASS = east : COMPASS = out write "Du stösst Dir den Kopf, als " write "Du durch die Tür gehst.^" return false endif write "Von hier aus geht es nur nach Osten.^" } object Schachtel: schachtel has CONTAINER CLOSABLE CLOSED definite die short eine "kleine hölzerne Schachtel" long "Hier ist eine kleine hölzerne Schachtel." mass 25 quantity 20 {close_override write "Der Deckel quietscht, während du ihn schliesst.^" ensure Schachtel has CLOSED } object Notiz: Notizzettel notizzettel notiz definite der short ein "orangefarbener Notizzettel" long "Ein orangefarbener Notizzettel liegt auf dem Boden." parent Schachtel mass 5 {read write "Auf dem Zettel steht: ~Welcome to Jamaica and have a nice day.~^" } location wohnzimmer: wohnzimmer definite das "Wohnzimmer" short ein "Wohnzimmer" north schlafzimmer {look if here has VISITED write "Du befindest Dich wieder im wohnzimmer.^" else write "Du befindest dich im wohnzimmer. Auf einem niedrigen " write "Tischchen vor dem Sofa steht ein Fernseher.^" endif } {eachturn set rick(status) + 1 if rick(status) = 5 write "Rick nimmt einen Schluck.^" set rick(status) = 0 endif } object Fernseher: fernseher definite der "Fernseher" short ein "Fernseher" mass scenery {examine write "Zur Zeit läuft im Fernsehen ein Zeichentrickfilm." } {turn_off write "Als Du den Fernseher ausgestellt hast, siehst Du " write "voller Schock zu, wie Rick beginnt sich zu verändern. " write "Es wächst ihm ein Fell und er bekommt Schaum vor dem " write "Mund. Diese Beobachtung wird jedoch vorzeitig beendet, da " write "Rick Dir seine gerade neu erworbenen Fänge in den " write "Hals rammt.^" execute +game_over } object rick: Sohn Junge Teenager Rick has ANIMATE short name "Rick" long "Rick ist hier, er guckt Fern." mass heavy {examine write "Rick starrt regungslos auf den Bildschirm.^" } {talk_to write "~ähm, ja... klar - mach ich sofort.~ murmelt Rick " write "ohne aufzuschauen. Du hast den starken Verdacht, das er Dir " write "nicht im Entferntesten zugehöhrt hat.^" } #----------------------------------------------------------------------------- # GLOBAL FUNCTIONS {+default_ask_about if noun1 = rick write "Rick zwinkert ein paar mal und schiebt dann seine " write "Unterlippe hervor. Soweit Du das über die Jahre " write "herausbekommen hast, kann man diese Geste mit ~Keinen Schimmer~" write "übersetzen.^" return endif return false } {+intro write "" write "BEISPIEL-PROGRAMM" write "by I.F. Autor" write "" write "Dein Wecker klingelt und Du steigst aus dem Bett. " write "Es ist wieder einmal Montag. Naja, immerhin hat Dein " write "Haus keine Haustür, was wiederum eine gute Entschuldigung " write "ist, nicht zur Arbeit zur gehen.^^" if here hasnt OUTDOORS set north_wall(parent) = here set south_wall(parent) = here set east_wall(parent) = here set west_wall(parent) = here endif set ground(parent) = here look } object kryten: ich selber mich has ANIMATE short name "Du" quantity 42 parent schlafzimmer player {examine write "Schön wie immer.^" execute "+inventory" } grammar about >about {+about write "Dies ist das Spiel aus der ~Tutorial Section~ des JACL Author's Guide. " write "Der Quelltext zu diesem Spiel ist in dem Kapitel ~Appendix~ " write "enthalten.^" } {+game_over endgame look } #include "german_verbs.library"