unit DelphiSpiel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, URaum, ExtCtrls, StdCtrls, JPEG ;
type
TForm1 =
class(TForm)
Memo1: TMemo;
Edit1: TEdit;
Button1: TButton;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
public
end;
var
Form1: TForm1;
info_aktuellerRaum :
string ;
info_startRaum :
string ;
info_raum1 :
string ;
info_raum2 :
string ;
info_raum3 :
string ;
aktuellerRaum , startRaum , raum1 , raum2 , raum3 : TRaum ;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
image1.canvas.create ;
startRaum := TRaum.Create ;
raum1 := TRaum.Create ;
raum2 := TRaum.Create ;
raum3 := TRaum.Create ;
aktuellerRaum := TRaum.Create ;
startRaum.setAusgang(raum1,
nil,
nil,
nil,'
Dies ist der Start. Hier geht es nur in eine Richtung');
raum1.setAusgang(raum2,
nil,raum3,
nil,'
dies ist raum1');
raum2.setAusgang(
nil,raum1,
nil,
nil,'
dies ist raum2');
raum3.setAusgang(
nil,
nil,
nil,raum1,'
dies ist raum3');
aktuellerRaum.setAusgang(
nil,
nil,
nil,
nil,'
fehler');
info_startRaum := '
Dies ist der Start. Hier geht es nur in eine Richtung' ;
info_raum1 := '
dies ist raum1' ;
info_raum2 := '
dies ist raum2' ;
info_raum3 := '
dies ist raum3' ;
info_aktuellerRaum := '
fehler' ;
aktuellerRaum := startRaum ;
info_aktuellerRaum := info_startRaum ;
Memo1.Clear ;
Memo1.Lines.add(aktuellerRaum.Finfo) ;
if aktuellerRaum.Fnorth <>
nil then Memo1.Lines.add('
---->Norden') ;
if aktuellerRaum.Fsouth <>
nil then Memo1.Lines.add('
---->Süden') ;
if aktuellerRaum.Feast <>
nil then Memo1.Lines.add('
---->Osten') ;
if aktuellerRaum.Fwest <>
nil then Memo1.Lines.add('
---->Westen') ;
if startRaum.Fnorth =
nil then Memo1.Lines.add('
attribute wurden nicht richtig festgelegt');
end;
procedure TForm1.Button1Click(Sender: TObject);
var eingabe :
string;
begin
eingabe := edit1.Text ;
if (eingabe = '
Norden')
and (aktuellerRaum.Fnorth <>
nil)
then aktuellerRaum := aktuellerRaum.Fnorth ;
if (eingabe = '
Süden')
and (aktuellerRaum.Fsouth <>
nil)
then aktuellerRaum := aktuellerRaum.Fsouth ;
if (eingabe = '
Osten')
and (aktuellerRaum.Feast <>
nil)
then aktuellerRaum := aktuellerRaum.Feast ;
if (eingabe = '
Westen')
and (aktuellerRaum.Fwest <>
nil)
then aktuellerRaum := aktuellerRaum.Fwest ;
Memo1.clear ;
Memo1.Lines.add(aktuellerRaum.Finfo);
if aktuellerRaum.Fnorth <>
nil then Memo1.Lines.add('
---->Norden') ;
if aktuellerRaum.Fsouth <>
nil then Memo1.Lines.add('
---->Süden') ;
if aktuellerRaum.Feast <>
nil then Memo1.Lines.add('
---->Osten') ;
if aktuellerRaum.Fwest <>
nil then Memo1.Lines.add('
---->Westen') ;
end;
end.