unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Memo1: TMemo;
Image1: TImage;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
type
TRaum=class
Beschreibung:
String;
Bild:
String;
Norden,Osten,Sueden,Westen:TRaum;
procedure setAusgaenge(norden,osten,sueden,westen:TRaum);
end;
var
Form1: TForm1;
Room:
array [1..16]
of TRaum;
aktuellerRaum:TRaum;
implementation
{$R *.dfm}
procedure TRaum.setAusgaenge(norden,osten,sueden,westen:TRaum);
begin
self.Norden:= norden;
self.Osten:= osten;
self.Sueden:= sueden;
self.Westen:= westen;
end;
procedure TForm1.FormCreate(Sender:TObject);
var i: integer;
begin
//---Räume erzeugen---
for i:=1
to 16
do
begin
Room[i]:=TRaum.Create;
Room[i].Beschreibung:='
blabla';
Room[i].Bild:='
Bilder\raum'+IntToStr(i)+'
.jpg';
end;
//---Ausgänge setzen---
room[1].setAusgaenge(
nil,room[2],room[5],
nil);
room[2].setAusgaenge(
nil,room[3],room[6],room[1]);
room[3].setAusgaenge(
nil,room[4],room[7],room[2]);
room[4].setAusgaenge(
nil,
nil,room[8],room[3]);
room[5].setAusgaenge(room[1],room[6],room[9],
nil);
room[6].setAusgaenge(room[2],room[7],room[10],room[5]);
room[7].setAusgaenge(room[3],room[8],room[11],room[6]);
room[8].setAusgaenge(room[4],
nil,room[12],room[7]);
room[9].setAusgaenge(room[5],room[10],room[13],
nil);
room[10].setAusgaenge(room[6],room[11],room[14],room[9]);
room[11].setAusgaenge(room[7],room[12],room[15],room[10]);
room[12].setAusgaenge(room[8],
nil,room[16],room[11]);
room[13].setAusgaenge(room[9],room[14],
nil,
nil);
room[14].setAusgaenge(room[10],room[15],
nil,room[13]);
room[15].setAusgaenge(room[11],room[16],
nil,room[14]);
room[16].setAusgaenge(room[12],
nil,
nil,room[15]);
aktuellerRaum:=room[1];
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if (aktuellerRaum.Norden <>
nil)
then
begin
aktuellerRaum:= aktuellerRaum.Norden;
Image1.Picture.LoadFromFile(aktuellerRaum.Bild);
Memo1.Lines.Add(aktuellerRaum.Beschreibung);
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if (aktuellerRaum.Osten <>
nil)
then
begin
aktuellerRaum:= aktuellerRaum.Osten;
Image1.Picture.LoadFromFile(aktuellerRaum.Bild);
Memo1.Lines.Add(aktuellerRaum.Beschreibung);
end;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
if (aktuellerRaum.Sueden <>
nil)
then
begin
aktuellerRaum:= aktuellerRaum.Sueden;
Image1.Picture.LoadFromFile(aktuellerRaum.Bild);
Memo1.Lines.Add(aktuellerRaum.Beschreibung);
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if (aktuellerRaum.Westen <>
nil)
then
begin
aktuellerRaum:= aktuellerRaum.Westen;
Image1.Picture.LoadFromFile(aktuellerRaum.Bild);
Memo1.Lines.Add(aktuellerRaum.Beschreibung);
end;
end;
end.