unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Memo1: TMemo;
Image1: TImage;
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;
room1,room2,room3,room4,room5,room6,room7,room8,room9,room10,room11,room12,room13,room14,room15,room16: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);
begin
//---Räume erzeugen---
room1:=TRaum.Create;
room2:=TRaum.Create;
room3:= TRaum.Create;
room4:= TRaum.Create;
room5:= TRaum.Create;
room6:= TRaum.Create;
room7:= TRaum.Create;
room8:= TRaum.Create;
room9:= TRaum.Create;
room10:= TRaum.Create;
room11:= TRaum.Create;
room12:= TRaum.Create;
room13:= TRaum.Create;
room14:= TRaum.Create;
room15:= TRaum.Create;
room16:= TRaum.Create;
//---Eigenschaften der Räume---
room1.Beschreibung:=('room1');
room1.Bild:=('Bilder/room1.jpg');
room2.Beschreibung:= ('room2');
room2.Bild:= ('Bilder/room2.jpg');
room3.Beschreibung:= ('room3');
room3.Bild:= ('Bilder/room3.jpg');
room4.Beschreibung:= ('room4');
room4.Bild:= ('Bilder/room4.jpg');
room5.Beschreibung:= ('room5');
room5.Bild:= ('Bilder/room5.jpg');
room6.Beschreibung:= ('room6');
room6.Bild:= ('Bilder/room6.jpg');
room7.Beschreibung:= ('room7');
room7.Bild:= ('Bilder/room7.jpg');
room8.Beschreibung:= ('room8');
room8.Bild:= ('Bilder/room8.jpg');
room9.Beschreibung:= ('room9');
room9.Bild:= ('Bilder/room9.jpg');
room10.Beschreibung:= ('room10');
room10.Bild:= ('Bilder/room10.jpg');
room11.Beschreibung:= ('room11');
room11.Bild:= ('Bilder/room11.jpg');
room12.Beschreibung:= ('room12');
room12.Bild:= ('Bilder/room12.jpg');
room13.Beschreibung:= ('room13');
room13.Bild:= ('Bilder/room13.jpg');
room14.Beschreibung:= ('room14');
room14.Bild:= ('Bilder/room14.jpg');
room15.Beschreibung:= ('room15');
room15.Bild:= ('Bilder/room15.jpg');
room16.Beschreibung:= ('room16');
room16.Bild:= ('Bilder/room16.jpg');
//---Ausgänge setzen---
room1.setAusgaenge(nil,room2,room5,nil);
room2.setAusgaenge(nil,room3,room6,room1);
room3.setAusgaenge(nil,room4,room7,room2);
room4.setAusgaenge(nil,nil,room8,room3);
room5.setAusgaenge(room1,room6,room9,nil);
room6.setAusgaenge(room2,room7,room10,room5);
room7.setAusgaenge(room3,room8,room11,room6);
room8.setAusgaenge(room4,nil,room12,room7);
room9.setAusgaenge(room5,room10,room13,nil);
room10.setAusgaenge(room6,room11,room14,room9);
room11.setAusgaenge(room7,room12,room15,room10);
room12.setAusgaenge(room8,nil,room16,room11);
room13.setAusgaenge(room9,room14,nil,nil);
room14.setAusgaenge(room10,room15,nil,room13);
room15.setAusgaenge(room11,room16,nil,room14);
room16.setAusgaenge(room12,nil,nil,room15);
aktuellerRaum:=room1;
end;
//---Norden-Button---
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;
//---Osten-Button---
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;
//---Sueden-Button---
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;
//---Westen-Button---
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.