unit uVererbung0; { mk, 8.1.2004 }
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mtWuerfel, StdCtrls, ExtCtrls, Menus;
type
TGUI = class(TForm)
bWuerfele: TButton;
lWurf: TLabel;
Tipp: TEdit;
LaStatus: TLabel;
btok: TButton;
btstart: TButton;
Label1: TLabel;
Lacounter: TLabel;
Label2: TLabel;
btaufgeben: TButton;
MainMenu1: TMainMenu;
Datei1: TMenuItem;
Beenden2: TMenuItem;
Hilfe1: TMenuItem;
Info1: TMenuItem;
procedure FormCreate(Sender: TObject);
procedure bWuerfeleClick(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Timer2Timer(Sender: TObject);
procedure btokClick(Sender: TObject);
procedure btstartClick(Sender: TObject);
procedure btaufgebenClick(Sender: TObject);
procedure Beenden2Click(Sender: TObject);
procedure Info1Click(Sender: TObject);
private
wuerfel1 : tWuerfel;
zaehler : integer;
SZaehler: string;
procedure updateGUI; // update existiert bereits!
public
{ Public-Deklarationen }
end;
var
GUI: TGUI;
implementation
uses Unit1;
{$R *.dfm}
procedure TGUI.updateGUI;
var
w : integer;
begin
w := wuerfel1.liesFZahl;
lWurf.Caption := IntToStr(w);
end;
procedure TGUI.FormCreate(Sender: TObject);
begin
wuerfel1 := tWuerfel.Create;
Randomize;
wuerfel1.wuerfele;
updateGUI;
end;
procedure TGUI.bWuerfeleClick(Sender: TObject);
begin
wuerfel1.wuerfele;
updateGUI;
bwuerfele.enabled := false;
Tipp.enabled := enabled;
btok.Enabled := enabled;
Tipp.text := '0';
lWurf.Visible := false;
btaufgeben.Enabled := true;
lacounter.caption := '0';
Zaehler := 0;
Lastatus.caption := 'Mache das gleich Spiel noch einmal.';
Lastatus.Visible := true;
end;
procedure TGUI.Timer1Timer(Sender: TObject);
var
w : integer;
begin
if
Tipp.text = IntToStr(wuerfel1.liesFZahl)
then begin
LaStatus.caption := 'Richtig erraten';
LaStatus.Visible := true;
end;
end;
procedure TGUI.Timer2Timer(Sender: TObject);
begin
if (Tipp.text < IntToStr(wuerfel1.liesFZahl))
then begin
LaStatus.caption := 'Zahl zu groß.';
LaStatus.Visible := true;
end;
if (Tipp.text > IntToStr(wuerfel1.liesFZahl))
then begin
LaStatus.caption := 'Zahl zu klein.';
LaStatus.Visible := true;
end;
end;
procedure TGUI.btokClick(Sender: TObject);
begin
if (Tipp.text < IntToStr(wuerfel1.liesFZahl))
then begin
LaStatus.caption := 'Die Zahl zu klein.';
LaStatus.Visible := true;
end;
if (Tipp.text > IntToStr(wuerfel1.liesFZahl))
then begin
LaStatus.caption := 'Die Zahl zu groß.';
LaStatus.Visible := true;
end;
if
Tipp.text = IntToStr(wuerfel1.liesFZahl)
then begin
LaStatus.caption := 'Du hast sie richtig erraten, die Zahl:';
LaStatus.Visible := true;
bWuerfele.Enabled := true;
btok.enabled := false;
Tipp.enabled := false;
btaufgeben.Enabled := false;
lWurf.Visible := true;
end;
zaehler := zaehler +1;
SZaehler := IntToStr(zaehler);
Lacounter.caption := Szaehler;
end;
procedure TGUI.btstartClick(Sender: TObject);
begin
Tipp.Enabled := true;
Tipp.text := '0';
btok.Enabled := true;
wuerfel1.wuerfele;
updateGUI;
btstart.Enabled := false;
btaufgeben.enabled := true;
lWurf.Visible := false;
Lastatus.caption := 'Errate nun die Zahl..';
Lastatus.Visible := true;
end;
procedure TGUI.btaufgebenClick(Sender: TObject);
begin
btaufgeben.Enabled := false;
LaStatus.Caption := 'Gescheitert, Lösung wäre gewesen:';
LaStatus.visible := true;
lWurf.Visible := true;
bwuerfele.Enabled := true;
tipp.enabled := false;
btok.enabled := false;
end;
procedure TGUI.Beenden2Click(Sender: TObject);
begin
close;
end;
procedure TGUI.Info1Click(Sender: TObject);
begin
form1.visible := true;
end;
end.