Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Hilfe beim Quizspiel (https://www.delphipraxis.net/34727-hilfe-beim-quizspiel.html)

flugtier 27. Nov 2004 13:32


Hilfe beim Quizspiel
 
Hi,

Ich wollte mal nach intensiven Lesen, ein kleines Quizspiel programmieren, um zu testen ob ich das mit den Records richtig verstanden habe. Zur Erklärung, ich bin ein Delphi Anfänger und programmiere mit Delphi Borland 6. Allerdings haben sich bei mir schon Anfangs Probleme eingeschlichen. Was mich verzweifeln ließ :wall:.

Ich dachte, ich bekomme das hin. Allerdings habe ich nach gut 10 Stunden(halt Anfänger) noch keine Problemlösung gefunden. Ich hatte zwar schon öfters eine Erleuchtung. :coder2: Allerdings noch nie die Richtige.

Das Quiz Spiel soll im Stile von Wer wird Millionär, bloß auf Pinky und Brain bezogen.

Zu meinen Problemen.

1. Der ließt die zweite Frage nicht.
2. Der erkennt nicht die Richtige Antwort, und wenn, dann gilt das nicht allgemein.
3. Ich schaffe es nicht am Anfang, den Namen zu speichern.
4. Wie kann ich Punkte auf die Antworen verteilen, damit die dann Später in der Highscore zu sehen sind.

Delphi-Quellcode:
unit Quizprojekt;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button3: TButton;
    Edit1: TEdit;
    Label2: TLabel;
    Button2: TButton;
    Button4: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
  type Fragentype=record
                Frage: string[200];
                Antwort1: string[50];
                Antwort2: string[50];
                Antwort3: string[50];
                Antwort4: string[50];
                richtig: byte;
                Nummer: byte;
                end;

  var
  Form1: TForm1;
  Frage: Fragentype;
  SummeFragen: File of Fragentype;
  WissenFragen: File of Fragentype;

implementation

uses Quizprojekt2, Quizprojekt3, Quizprojekt4, Quizprojekt5, Quizprojekt6;

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
close
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Visible:=false;
Form2.Visible:=true;

end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Form1.Visible:=false;
Form4.Visible:=true;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
Form1.Visible:=false;
Form5.Visible:=true;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  AssignFile(SummeFragen,'Inhalt.txt');
  Rewrite(SummeFragen);
    Frage.Frage:='Welche von diesen Personen ist kein Info*lehrER*?';
  Frage.Antwort1:= 'bestimmt Herr Habenicht';
  Frage.Antwort2:= 'bestimmt Herr Kühn';
  Frage.Antwort3:= 'bestimmt Herr Krüger';
  Frage.Antwort4:= 'bestimmt Frau Mantwill';
  Frage.richtig:=4;
  Frage.Nummer:=1;
  Reset(SummeFragen);
  Write(Summefragen, Frage);
      Frage.Frage:='Wie geht Case of?';
  Frage.Antwort1:= 'Gar nicht.';
  Frage.Antwort2:= 'keine Ahnung';
  Frage.Antwort3:= 'Drück mich';
  Frage.Antwort4:= '...?*System ERROR*';
  Frage.richtig:=3;
  Frage.Nummer:=2;
  CloseFile (Summefragen);


    AssignFile(Wissenfragen,'WissenFragen');
  Rewrite(WissenFragen);
  Frage.Frage:='Was hat der schlaue Manuel in der Chemie Klausur 13/1 bekommen?';
  Frage.Antwort1:= '1 mit 14 Punkten';
  Frage.Antwort2:= '2 mit 12 Punkten';
  Frage.Antwort3:= '3 mit 7 Punkten';
  Frage.Antwort4:= '2 mit 10 Punkten';
  Frage.richtig:=1;
  Frage.Nummer:=1;
  Write(Wissenfragen, Frage);
 

end;


end.
unit Quizprojekt2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label7: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form2: TForm2;

implementation

uses Quizprojekt3, Quizprojekt6, Quizprojekt;

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
Form2.Visible:=false;
Form3.Visible:=true;
end;

procedure TForm2.Button2Click(Sender: TObject);
begin
Form2.Visible:=false;
Form6.Visible:=true;
end;

end.
unit Quizprojekt3;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm3 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button8Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form3: TForm3;
  Zahl: integer;
implementation

uses Quizprojekt4, Quizprojekt;

{$R *.dfm}

procedure TForm3.Button8Click(Sender: TObject);
begin
Form3.Visible:=false;
Form4.Visible:=true;
end;

procedure TForm3.FormCreate(Sender: TObject);
begin
 with Form1 Do
 begin
   Reset (SummeFragen);
   Read(SummeFragen,Frage);
   end;
   Edit1.text:=Frage.Frage;
   Edit2.text:=Frage.Antwort1;
   Edit3.text:=Frage.Antwort2;
   Edit4.text:=Frage.Antwort3;
   Edit5.text:=Frage.Antwort4;

end;


procedure TForm3.Button1Click(Sender: TObject);
begin
        Button4.Visible:= false;
        Button6.Visible:= false;

end;


procedure TForm3.Button4Click(Sender: TObject);
begin
 Zahl:=1;
    if
Zahl=frage.richtig then Edit1.text:='Richtig' else Edit1.text:='Falsch';
end;

procedure TForm3.Button5Click(Sender: TObject);
begin
 Zahl:=2;
    if
Zahl=frage.richtig then Edit1.text:='Richtig' else Edit1.text:='Falsch';
end;

procedure TForm3.Button6Click(Sender: TObject);
begin
 Zahl:=3;
    if
Zahl=frage.richtig then Edit1.text:='Richtig' else Edit1.text:='Falsch';
end;

procedure TForm3.Button7Click(Sender: TObject);
begin
 Zahl:=4;
    if
Zahl=frage.richtig then Edit1.text:='Richtig' else Edit1.text:='Falsch';
end;

end.
unit Quizprojekt4;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm4 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form4: TForm4;

implementation

uses Quizprojekt5, Quizprojekt;

{$R *.dfm}

procedure TForm4.Button1Click(Sender: TObject);
begin
Form4.Visible:=false;
Form5.Visible:=true;
end;

procedure TForm4.Button2Click(Sender: TObject);
begin
Form4.Visible:=false;
Form1.Visible:=true;
end;

procedure TForm4.FormCreate(Sender: TObject);
begin
with StringGrid1 do
  begin
    StringGrid1.Cells[0,0]:= 'Platzierung';
    StringGrid1.Cells[1,0]:= 'Spielername';
    StringGrid1.Cells[2,0]:= 'Punktezahl';
    StringGrid1.Cells[0,1]:= '1.Platz';
    StringGrid1.Cells[0,2]:= '2.Platz';
    StringGrid1.Cells[0,3]:= '3.Platz';
    StringGrid1.Cells[0,4]:= '4.Platz';
    StringGrid1.Cells[0,5]:= '5.Platz';
    StringGrid1.Cells[0,6]:= '6.Platz';
    StringGrid1.Cells[0,7]:= '7.Platz';
    StringGrid1.Cells[0,8]:= '8.Platz';
    StringGrid1.Cells[0,9]:= '9.Platz';
    StringGrid1.Cells[0,10]:= '10.Platz';
    end;
end;

end.
unit Quizprojekt5;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;

type
  TForm5 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    StringGrid1: TStringGrid;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form5: TForm5;

implementation

uses Quizprojekt4, Quizprojekt;

{$R *.dfm}

procedure TForm5.Button1Click(Sender: TObject);
begin
Form5.Visible:=false;
Form4.Visible:=true;
end;

procedure TForm5.Button2Click(Sender: TObject);
begin
Form5.Visible:=false;
Form1.Visible:=true;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
with StringGrid1 do
  begin
    StringGrid1.Cells[0,0]:= 'Platzierung';
    StringGrid1.Cells[1,0]:= 'Spielername';
    StringGrid1.Cells[2,0]:= 'Punktezahl';
    StringGrid1.Cells[0,1]:= '1.Platz';
    StringGrid1.Cells[0,2]:= '2.Platz';
    StringGrid1.Cells[0,3]:= '3.Platz';
    StringGrid1.Cells[0,4]:= '4.Platz';
    StringGrid1.Cells[0,5]:= '5.Platz';
    StringGrid1.Cells[0,6]:= '6.Platz';
    StringGrid1.Cells[0,7]:= '7.Platz';
    StringGrid1.Cells[0,8]:= '8.Platz';
    StringGrid1.Cells[0,9]:= '9.Platz';
    StringGrid1.Cells[0,10]:= '10.Platz';
    end;
end;

end.
unit Quizprojekt6;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm6 = class(TForm)
    Label1: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label2: TLabel;
    Button4: TButton;
    Button5: TButton;
    Button6: TButton;
    Button7: TButton;
    Button8: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure Button8Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form6: TForm6;

implementation

uses Quizprojekt5, Quizprojekt;

{$R *.dfm}

procedure TForm6.Button8Click(Sender: TObject);
begin
Form6.Visible:=false;
Form5.Visible:=true;
end;

procedure TForm6.FormCreate(Sender: TObject);
begin
 with Form1 Do
 begin
   Reset (Wissenfragen);
   Read(Wissenfragen,Frage);
   end;
   Edit1.text:=Frage.Frage;
   Edit2.text:=Frage.Antwort1;
   Edit3.text:=Frage.Antwort2;
   Edit4.text:=Frage.Antwort3;
   Edit5.text:=Frage.Antwort4;
   CloseFile(WissenFragen);

end;


procedure TForm6.Button4Click(Sender: TObject);
begin
        Button4.Visible := True;
        Button5.Visible := False;
        Button6.Visible := False;
        Button7.Visible := False;
        Edit2.Font.Style := [fsBold];
        Edit2.Text:='Richtig!!'

end;

end.
Es tut mir vielmals Leid, dass das so lang ist, aber ich weiß nicht, wie ich den Text anders compilieren kann.

Ich hoffe ich könnt mir helfen. Vielen Dank schon mal im vorhinaus.

Nils_13 27. Nov 2004 13:46

Re: Hilfe beim Quizspiel
 
Hi,

stell mir den download (nur wenn du willst) per pn zur Verfügung (Mit oder ohne Quellcode, egal wenn du mir ihn im Forum erklären kannst).

[edit]Ich wollte auch mal Quiz Programmieren bin dran gescheitert (es hat andauernd Fehler gegeben).Hoffentlich ist deins besser und scheitert nicht![/edit]

:hi:

nailor 27. Nov 2004 13:49

Re: Hilfe beim Quizspiel
 
am besten einfach die datei (oder wenn du nicht weißt, welche datei, einfach ne textdatei mit dem code von oben) als anhang hochladen.

Nicodius 27. Nov 2004 15:53

Re: Hilfe beim Quizspiel
 
auf luckies seite gibts übrigens ein Sourceformat tutorial ...

flugtier 27. Nov 2004 19:43

Re: Hilfe beim Quizspiel
 
Wegen Download. Was soll ich zum Download bereit stellen? Das Programm? Wenn ja, dann bräuchte ich ne Seite, wo ich die hochladen kann. Und wie soll ich das in eine Text-Datei verpacken? Den geschriebenen Code einfach kopieren und in Word oder wie???

HILFE. Ich werde von Minute zu Minute dümmer.

Matze 27. Nov 2004 20:09

Re: Hilfe beim Quizspiel
 
Zitat:

Zitat von flugtier
Wegen Download. Was soll ich zum Download bereit stellen? Das Programm? Wenn ja, dann bräuchte ich ne Seite, wo ich die hochladen kann.

Brauchst du nicht. ;)

Wenn du einen Beitrag schreibst, ist unten die Kategorie "Attachment hinzufügen". Dort findest du einen "Durchsuchen" Button und kannst eine Datei auf deiner Festplatte (in dem Falle die gezippten Projektdateien oder die Textdatei mit dem Code deines 1. Beitrags) auswählen und per klick auf "attachment hinzufügen" die Datei hochladen.

flugtier 28. Nov 2004 16:10

Re: Hilfe beim Quizspiel
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist das Programm.

Nils_13 28. Nov 2004 16:15

Re: Hilfe beim Quizspiel
 
Die Fragen müssen noch gestellt werden :cheers:

Wieso gibt es so viele Fehler?

flugtier 29. Nov 2004 06:17

Re: Hilfe beim Quizspiel
 
Wie meinst du das?

Welche Fehler?

gothic_mike 29. Nov 2004 06:29

Re: Hilfe beim Quizspiel
 
Zitat:

Zitat von Nils_13
Wieso gibt es so viele Fehler?

du hast doch nun den Sourcecode, finde es doch einfach raus!


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:39 Uhr.
Seite 1 von 2  1 2      

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