unit uAdventure;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, uKlassenname1;
type
{ TForm1 }
TForm1 =
class(TForm)
Button1: TButton;
Edit1: TEdit;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
Form1: TForm1;
Dachboden, Kueche, Keller, Schlafzimmer, Flur, Badezimmer, Garten, Wohnzimmer, Abstellkammer, Klavierzimmer: TRaum;
aktuellerRaum: TRaum;
Eingabe:
String;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.Lines.add('
Hallo, willkommen im Textadventure');
Dachboden:=TRaum.Create;
Kueche:=TRaum.Create;
Keller:=TRaum.Create;
Schlafzimmer:=TRaum.Create;
Flur:=TRaum.Create;
Badezimmer:=TRaum.Create;
Garten:=TRaum.Create;
Wohnzimmer:=TRaum.Create;
Abstellkammer:=TRaum.Create;
Klavierzimmer:=TRaum.Create;
Dachboden.Beschreibung:=('
Du bist nun im Dachboden.');
Kueche.Beschreibung:=('
Du bist nun in der Küche.');
Keller.Beschreibung:=('
Es muss sich um den Keller handeln.');
Schlafzimmer.Beschreibung:=('
Es muss sich wohl um das Schlafzimmer handeln.');
Flur.Beschreibung:=('
Du stehst im Flur.');
Badezimmer.Beschreibung:=('
Du betrittst das Badezimmer.');
Garten.Beschreibung:=('
Du betrittst Gras und merkst dass du im Garten bist.');
Wohnzimmer.Beschreibung:=('
Es ist wohl das Wohnzimmer.');
Abstellkammer.Beschreibung:=('
Die Tür öffnet sich und du siehst nur eine kleine Abstellkammer.');
Klavierzimmer.Beschreibung:=('
Als erstes siehst du einen Klavier das mitten im Zimmer steht.');
Dachboden.setAusgaenge(
nil,
nil,
nil,
nil,
nil, Wohnzimmer);
Kueche.setAusgaenge(
nil,
nil, Klavierzimmer,
nil,
nil,
nil);
Keller.setAusgaenge(Garten,
nil,
nil,
nil, Wohnzimmer,
nil);
Schlafzimmer.setAusgaenge(
nil,
nil,
nil, Wohnzimmer,
nil,
nil);
Flur.setAusgaenge(Wohnzimmer, Badezimmer, Abstellkammer,
nil,
nil,
nil);
Badezimmer.setAusgaenge(
nil,
nil, FLur,
nil,
nil,
nil);
Garten.setAusgaenge(
nil, Wohnzimmer,
nil,
nil,
nil, Keller);
Wohnzimmer.setAusgaenge(Schlafzimmer, Klavierzimmer, Garten, Flur, Dachboden, Keller);
Abstellkammer.setAusgaenge(
nil, Flur,
nil,
nil,
nil,
nil);
Klavierzimmer.setAusgaenge(
nil, Kueche, Wohnzimmer,
nil,
nil,
nil);
aktuellerRaum := Flur;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Lines.clear;
Memo1.Lines.add (aktuellerRaum.Beschreibung);
begin
Memo1.clear;
Eingabe:= Edit1.text;
if (Eingabe = '
Norden')
and (aktuellerRaum.Norden <>
nil)
then
aktuellerRaum := aktuellerRaum.norden;
if (Eingabe = '
Osten')
and (aktuellerRaum.Osten <>
nil)
then
aktuellerRaum := aktuellerRaum.Osten;
if (Eingabe = '
Sueden')
and (aktuellerRaum.Sueden <>
nil)
then
aktuellerRaum := aktuellerRaum.Sueden;
if (Eingabe = '
Westen')
and (aktuellerRaum.Westen <>
nil)
then
aktuellerRaum := aktuellerRaum.Westen;
if (Eingabe = '
Rauf')
and (aktuellerRaum.Rauf <>
nil)
then
aktuellerRaum := aktuellerRaum.Rauf;
if (Eingabe = '
Runter')
and (aktuellerRaum.Runter <>
nil)
then
aktuellerRaum := aktuellerRaum.Runter;
Memo1.Lines.add (aktuellerRaum.Beschreibung);
if aktuellerRaum.Norden <>
nil then Memo1.Lines.Add ('
---> Norden');
if aktuellerRaum.Osten <>
nil then Memo1.Lines.Add ('
---> Osten');
if aktuellerRaum.Sueden <>
nil then Memo1.Lines.Add ('
---> Sueden');
if aktuellerRaum.Westen <>
nil then Memo1.Lines.Add ('
---> Westen');
if aktuellerRaum.Rauf <>
nil then Memo1.Lines.Add ('
---> Rauf');
if aktuellerRaum.Runter <>
nil then Memo1.Lines.Add ('
---> Runter');
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
end;
end.