Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Spiel für Informatik Unterricht!! (https://www.delphipraxis.net/60570-spiel-fuer-informatik-unterricht.html)

eMGee 9. Jan 2006 14:08


Spiel für Informatik Unterricht!!
 
Hallo!
Wir sollen in unserem Info Kurs ein kleines Textadventure programmieren. Habe nun heute damit angefangen habe allerdings nicht sehr viel ahnung von delphi und beim ersten kompilieren kamen direkt etliche fehler... so wie es aussieht scheint es nur an ein oder zwei stellen zu liegen vermute das das andere folgefehler sind, kann aber leider nichts finden... bitte um hilfe denke für jemanden der sich auskennt is das kein großes ding ;) danke schonmal!!

Hier der Quelltext:

Code:
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.

Nightshade 9. Jan 2006 14:15

Re: Spiel für Informatik Unterricht!!
 
Und wo zeigt er Fehler an ?

JasonDX 9. Jan 2006 14:17

Re: Spiel für Informatik Unterricht!!
 
Hier liegt der Fehler:
Zitat:

Delphi-Quellcode:
room1.Beschreibung:=('room1');

strings werden ohne () zugewiesen. Also ganz einfach:
Delphi-Quellcode:
room1.Beschreibung := 'room1';
aja, und wegen dem
Delphi-Quellcode:
room1,room2,room3,room4,room5,room6,room7,room8,room9,room10,room11,room12,room13,room14,room15,room16:TRaum;
Delphi-Referenz durchsuchenArrays werden dir gefallen ;)

greetz
Mike

eMGee 9. Jan 2006 14:27

Re: Spiel für Informatik Unterricht!!
 
danke für die schnelle Hilfe, hat jedoch leider nix gebracht... habe jetzt mal alle fehler markiert..
also bei TForm1 kommt undefinierter bezeichner 'FormCreate'
dann bei Button1.Click, Image1, Memo1 kommt undefnierter bezeicher und operator oder semikolon fehlt...
das setzt sich bei den weiteren buttons fort, habe nur den ersten markiert....


Code:
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;

[color=#ff0000]
procedure TForm1.FormCreate(Sender:TObject);
[/color]
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---

[color=#ff0000]procedure TForm1.Button1Click(Sender: TObject);[/color]
begin
  if (aktuellerRaum.Norden <> nil) then
  begin
    aktuellerRaum:= aktuellerRaum.Norden;
    [color=#ff0000]Image1.Picture.LoadFromFile(aktuellerRaum.Bild);[/color]
    [color=#ff0000]Memo1.Lines.Add(aktuellerRaum.Beschreibung);[/color]
  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.
[edit=Admin]Code in PRE-Tags gesetzt. Mfg, Daniel[/edit]

Nils_13 9. Jan 2006 14:30

Re: Spiel für Informatik Unterricht!!
 
Ja was hast du denn da gemacht :shock: ? Du hast bei dem Form-Typen die Prozeduren rausgeschmissen.
Und außerdem nehm einfach den delphi Highlighter, dann lässt es sich leichter lesen.

Kinimod8 9. Jan 2006 14:32

Re: Spiel für Informatik Unterricht!!
 
Du musst die Proceduren mit TForm1 am Anfang natürlich auch deklarieren:

Delphi-Quellcode:
type TForm1 = class(TForm)
  procedure FormCreate(Sender: TObject);

eMGee 9. Jan 2006 14:45

Re: Spiel für Informatik Unterricht!!
 
ok danke!! der erste fehler ist weg aber habe immer noch den anderen ....
an den stellen wo ich fett markiert hab jetzt kommt bei TForm1 immer undefinierter bezeichner und bei Image1, Memo1 auch und außerdem noch operator oder semikolon fehlt..

[code]
//---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;

3_of_8 9. Jan 2006 14:50

Re: Spiel für Informatik Unterricht!!
 
Setz den Code doch mal bitte in [delphi] Tags. Und wenn du jeweils die Fehlermeldung kurz dazu schreiben würdest, wäre das auch ganz nützlich.

eMGee 9. Jan 2006 14:59

Re: Spiel für Informatik Unterricht!!
 
Delphi-Quellcode:
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;

  procedure Button1Click(Sender: TObject);
  procedure FormCreate(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;
  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);         <------- undefnierter Bezeicher 'Button1.Click'
begin
  if (aktuellerRaum.Norden <> nil) then
  begin
    aktuellerRaum:= aktuellerRaum.Norden;
    Image1.Picture.LoadFromFile(aktuellerRaum.Bild); <------- undefnierter Bezeichner 'Image1'
    Memo1.Lines.Add(aktuellerRaum.Beschreibung);     <------- undefnierter Bezeichner 'Memo1'
  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.

3_of_8 9. Jan 2006 15:05

Re: Spiel für Informatik Unterricht!!
 
Seltsam...


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz