unit GetTheNr;
interface
uses
Winapi.Windows,
Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls,
Vcl.ExtCtrls;
type
TGetTheNumber =
class(TForm)
Label1: TLabel;
LabelLives: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
EditLives: TEdit;
Button1: TButton;
Label5: TLabel;
Label6: TLabel;
REasy: TRadioButton;
RMiddle: TRadioButton;
RHard: TRadioButton;
RCustom: TRadioButton;
Panel1: TPanel;
Restart: TButton;
EditNumber: TEdit;
Label7: TLabel;
Label8: TLabel;
GuessBox: TEdit;
Label9: TLabel;
Result: TLabel;
procedure RCustomClick(Sender: TObject);
procedure RMiddleClick(Sender: TObject);
procedure RHardClick(Sender: TObject);
procedure REasyClick(Sender: TObject);
procedure RestartClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
GetTheNumber: TGetTheNumber;
number, lives, tries: integer;
// Die gebrauchten Variabeln.
implementation
{$R *.dfm}
// Zahl überprüfen
// Status ausgeben
// Leben und Versuche berechnen
procedure TGetTheNumber.Button1Click(Sender: TObject);
var
guess:integer;
// Damit ich den Inhalt der Textbox in einer Variable speichern kann.
begin
// Und da geschiehts auch schon
guess := StrToInt(GuessBox.Text);
// Wenn die eingegebene Zahl zu gross ist,...
if number > guess
then
begin
result.Caption := '
Deine Zahl ist zu klein.';
lives := lives - 1;
tries := tries + 1;
end
// Zu klein...
else if number < guess
then
begin
result.Caption := '
Deine Zahl ist zu gross';
lives := lives - 1;
tries := tries + 1;
end
// Richtig!!!
else if number = guess
then
begin
result.Caption := '
Richtig!';
tries := tries + 1;
end;
//////////////////////////////////////////
// Das passiert irgendwie nicht: //
label3.Caption := tries.ToString();
//
label8.Caption := lives.ToString();
//
//////////////////////////////////////////
end;
procedure TGetTheNumber.RCustomClick(Sender: TObject);
begin
// Wenn Benutzerdefiniert eingestellt ist, sollen die Textboxen erscheinen
if RCustom.Checked = true
then begin
EditLives.Visible := true;
EditNumber.Visible := true;
end
// Sonst nicht
else begin
EditLives.Visible := false;
EditNumber.Visible := false;
end;
end;
procedure TGetTheNumber.REasyClick(Sender: TObject);
begin
EditLives.Visible := false;
EditNumber.Visible := false;
end;
procedure TGetTheNumber.RHardClick(Sender: TObject);
begin
EditLives.Visible := false;
EditNumber.Visible := false;
end;
procedure TGetTheNumber.RMiddleClick(Sender: TObject);
begin
EditLives.Visible := false;
EditNumber.Visible := false;
end;
// ENDE DER CUSTOM TEXTBOXen LÖSUNG.
// Wenn man auf übernehmen klickt
procedure TGetTheNumber.RestartClick(Sender: TObject);
begin
// Wenn Custom
if RCustom.Checked = true
then
begin
// Eigene Daten übernehmen
Randomize();
number := Round(Random() * StrToInt(EditNumber.Text));
tries := 0;
lives := StrToInt(EditLives.Text);
end
// Sonst vorgegebene
else
begin
if REasy.Checked = true
then
begin
Randomize();
number := Round(Random() * 1000);
tries := 0;
lives := 20;
end
else if RMiddle.Checked = true
then
begin
Randomize();
number := Round(Random() * 5000);
tries := 0;
lives := 15;
end
else if RHard.Checked = true
then
begin
Randomize();
number := Round(Random() * 10000);
tries := 0;
lives := 15;
end;
end;
Button1.Enabled := true;
end;
end.
// Wars auch schon :)