#!../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&auml;hrend westlich"
write "ein Flur ins badezimmer f&uuml;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&ouml;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&auml;lt das aktuelle Fernsehprogamm.^"
}

{give_to_rick : show_to_rick
write "~Cool!~ Rick grunzt zufrieden, als er dir das Heft "
write "aus den H&auml;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&uuml;hrt zur&uuml;ck ins schlafzimmer.^"
}

{movement
if COMPASS = east : COMPASS = out
   write "Du st&ouml;sst Dir den Kopf, als "
   write "Du durch die T&uuml;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&ouml;lzerne Schachtel"
  long		"Hier ist eine kleine h&ouml;lzerne Schachtel."
  mass		25
  quantity	20

{close_override
write "Der Deckel quietscht, w&auml;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&auml;ndern. "
write "Es w&auml;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&auml;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 "~&auml;hm, ja... klar - mach ich sofort.~ murmelt Rick "
write "ohne aufzuschauen. Du hast den starken Verdacht, das er Dir "
write "nicht im Entferntesten zugeh&ouml;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 &uuml;ber die Jahre "
   write "herausbekommen hast, kann man diese Geste mit ~Keinen Schimmer~"
   write "&uuml;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&uuml;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&ouml;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"

