Adventure Game[gelöst]
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Adventure Game[gelöst]
Hi, ich möchte mal ein kleines Adventure Game (Textbasierend) mit Lazarus/Pascal programmieren.
Um das möglich zu machen, muss sich der Text eines Labels/Checkbuttons verändern.
Man drückt auf "Weiter" und aus "1.Frage" wird z.B. "Hallo".
Jetzt weiss ich natürlich nicht, wie das geht.
Hoffe einer hier weiss es.
Danke schonmal
McCry
Um das möglich zu machen, muss sich der Text eines Labels/Checkbuttons verändern.
Man drückt auf "Weiter" und aus "1.Frage" wird z.B. "Hallo".
Jetzt weiss ich natürlich nicht, wie das geht.
Hoffe einer hier weiss es.
Danke schonmal
McCry
Zuletzt geändert von McCry am Mi 7. Dez 2011, 20:05, insgesamt 1-mal geändert.
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Adventure Game
Das Projekt haben ich vor Jahren mal gemacht, wenn du noch Anfänger bist hilft es vielleicht weiter allerdings ist es (ich habe es eben nochmal angeguckt) vom Aufbau her sehr umständlich gemacht. Wie man halt ganz am Anfang so programmiert^^
edit: Anhänge entfernt da unnötiger Speicherverbrauch und schlechter Code
edit: Anhänge entfernt da unnötiger Speicherverbrauch und schlechter Code
Zuletzt geändert von Bauer321 am Sa 3. Dez 2011, 18:20, insgesamt 1-mal geändert.
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Adventure Game
Ok, erstma Danke.
Nur Leider steig ich da net so durch.
Nur Leider steig ich da net so durch.

Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Adventure Game
Ja, so in der Art.
Da soll dann z.B stehen:
"Es gibt zwei türen. links oder rechts"
Man wählt links und der Text ändert sich in "DAs war der Falsche Weg, du bist TOT".
So in der Art.
Da soll dann z.B stehen:
"Es gibt zwei türen. links oder rechts"
Man wählt links und der Text ändert sich in "DAs war der Falsche Weg, du bist TOT".
So in der Art.
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Adventure Game
Ja dann mach das doch in etwa so:
Ein Label, zwei Radiobuttons und ein Button.
edit: mit RadioButtonX.Caption := 'Text'; kannst du auch den Text der Radiobuttons ändern
Ein Label, zwei Radiobuttons und ein Button.
edit: mit RadioButtonX.Caption := 'Text'; kannst du auch den Text der Radiobuttons ändern
- Dateianhänge
-
- Vorschau
- bild.png (12.11 KiB) 2513 mal betrachtet
-
beispielexe.zip
- exe zum testen
- (641.72 KiB) 92-mal heruntergeladen
-
beispiel.zip
- Quellcode mit Kommentaren
- (2.41 KiB) 78-mal heruntergeladen
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Adventure Game
@Bauer321 Es klappt jetzt. Danke
Jetzt hab ich aber noch 2 Fragen:
1. Wie füge ich jetzt mehrere Fragen als nur 3 ein?
2. Wie hast du es gemacht, dass sich am ende eine 2.Form öffnet?
Danke schonmal
McCry

Jetzt hab ich aber noch 2 Fragen:
1. Wie füge ich jetzt mehrere Fragen als nur 3 ein?
2. Wie hast du es gemacht, dass sich am ende eine 2.Form öffnet?
Danke schonmal
McCry
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Adventure Game
also weitere Fragen einfach nach dem bisherigen muster statt end; ein end else if ... (Zeile 76 in meinem Beispiel) und dann nach dem schema einfach weiter
wenn du ne nachricht anzeigen willst nimm ShowMessage('Dein Text');
ne neue Form machst du über Datei -> neues Formular, dann oben unter uses den namen eintragen. Danach kannst du einfach Form2.Show; bzw .Hide aufrufen
wenn du ne nachricht anzeigen willst nimm ShowMessage('Dein Text');
ne neue Form machst du über Datei -> neues Formular, dann oben unter uses den namen eintragen. Danach kannst du einfach Form2.Show; bzw .Hide aufrufen
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 31
- Registriert: Fr 8. Jan 2010, 16:29
Re: Adventure Game
Dazu würd ich einfach ne Mehrfachauswahl nehmen, mal gecodet:
so ungefähr, ist natürlich noch nicht in den feinheiten.
(Falls du case-of-end noch nicht verwendet hast, schau dir einfach mal n tutorial an)
Hoffe konnte helfen
mfg camper3000
Code: Alles auswählen
//Unter FormCreate zaehler ist global, typ: integer
zaehler:=1; //Zähler rücksetzen
//auf dem Bestätigen button
zaehler:=zaehler+1;
case zaehler of
2: lab_frage.caption:='Frage 2' //Frage 1 steht von Anfang an drinne
3: lab_frage.caption:='Frage 3' //Frage in abhängigkeit vom Zähler ändern
4: lab_frage.caption:='Frage 4'
5: lab_frage.caption:='Frage 5'
.
.
.
else begin
lab_frage.caption:='Dein Zähler hat keine Frage'
end;
end;
(Falls du case-of-end noch nicht verwendet hast, schau dir einfach mal n tutorial an)
Hoffe konnte helfen
mfg camper3000
Auch wenn man einen Hammer hat, ist nicht jedes Problem ein Nagel.
-
- Beiträge: 465
- Registriert: Sa 21. Aug 2010, 21:30
- OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
- CPU-Target: 64-Bit
- Wohnort: nahe Bremen
- Kontaktdaten:
Re: Adventure Game
auch ne möglichkeit, ich hatte eine gepostet die die antwort überprüft und wenn sie richtig ist die nächste frage anzeigt und sonst wieder Frage1camper3000 hat geschrieben:Dazu würd ich einfach ne Mehrfachauswahl nehmen, mal gecodet:
so ungefähr, ist natürlich noch nicht in den feinheiten.Code: Alles auswählen
//Unter FormCreate zaehler ist global, typ: integer zaehler:=1; //Zähler rücksetzen //auf dem Bestätigen button zaehler:=zaehler+1; case zaehler of 2: lab_frage.caption:='Frage 2' //Frage 1 steht von Anfang an drinne 3: lab_frage.caption:='Frage 3' //Frage in abhängigkeit vom Zähler ändern 4: lab_frage.caption:='Frage 4' 5: lab_frage.caption:='Frage 5' . . . else begin lab_frage.caption:='Dein Zähler hat keine Frage' end; end;
(Falls du case-of-end noch nicht verwendet hast, schau dir einfach mal n tutorial an)
Hoffe konnte helfen
mfg camper3000
www.mcpatcher.net | www.hoeper.me
-
- Beiträge: 31
- Registriert: Fr 8. Jan 2010, 16:29
Re: Adventure Game
jupp, geht auch.
find ich aber persönlich unübersichtlicher
find ich aber persönlich unübersichtlicher
Auch wenn man einen Hammer hat, ist nicht jedes Problem ein Nagel.
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Adventure Game
Hab das mit der 2. Form geschafft.
Nur hab ich jetzt alles nochmal etwas "schöner" gemacht.
Jetzt kommt da aber ein Fehler:
Ich hoffe ihr könnt mir da helfen.
LG McCry
Nur hab ich jetzt alles nochmal etwas "schöner" gemacht.
Jetzt kommt da aber ein Fehler:
Code: Alles auswählen
unit Unit_credits;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
Unit_start ; //hier ist der Fehler
type
{ Tform_credits }
Tform_credits = class(TForm)
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
procedure Button1Click(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
form_credits: Tform_credits;
implementation
{$R *.lfm}
{ Tform_credits }
procedure Tform_credits.Button1Click(Sender: TObject);
begin
form_start.show;
form_credits.close;
end;
end.
Code: Alles auswählen
unit Unit_start;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, Unit_credits;
type
{ Tform_start }
Tform_start = class(TForm)
ab_but: TButton;
credits_but: TButton;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
procedure credits_butClick(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
form_start: Tform_start;
implementation
{$R *.lfm}
{ Tform_start }
procedure Tform_start.credits_butClick(Sender: TObject);
begin
form_credits.show;
form_start.close;
end;
end.
LG McCry
Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: Adventure Game
Code: Alles auswählen
unit Unit_credits;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
// Unit_start ; //hier ist der Fehler
[...]
var
form_credits: Tform_credits;
implementation
uses
Unit_start;
Code: Alles auswählen
unit Unit_start;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls{, Unit_credits};
[...]
implementation
uses
Unit_credits;
-
- Beiträge: 42
- Registriert: Mi 20. Jul 2011, 21:49
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Wohnort: Na Hier
- Kontaktdaten:
Re: Adventure Game
DANKEEEEEEEEEEEEEEE.
ES FUNKTIONIERT.

ES FUNKTIONIERT.

Code: Alles auswählen
Signatur[color=#FF0000]:=[/color]McCry
Website[color=#FF0000]:=[/color][color=#0000FF]ritualist.bplaced.net[/color]