Hallo,
Ich bin dabei ein einfaches Zahlen-Raten-Spiel zu programmieren.
Ich bin damit eigentlich auch fertig aber es stört mich das ich ständig auf OK klicken muss um eine von mir geratene Zahl zu bestätigen.
Daher wollte ich es so programmieren das ich die Zahl mit der ENTER-Taste bestätigen kann.
Ich bin ein Neuling im Bereich programmieren.
Kann mir bitte jemand helfen(ein Tipp wäre auch OK)?
Danke schon mal im Voraus.
Hier der Quellcode:
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112:
| unit Raten3;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Edit1: TEdit; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button2Click(Sender: TObject); procedure Enter(Sender: TObject; var Key: Char); private public end;
const Max = 15 ; var Form1: TForm1; Eingabe, Zufall, Versuche: Integer; SpielEnde: Boolean;
implementation
{$R *.DFM}
Ab hier________________________________________________
procedure TForm1.Button1Click(Sender: TObject); var Ergebnis, Differenz: Integer; begin if SpielEnde then Close; try Edit1.SetFocus; Eingabe := StrToInt (Edit1.Text); inc (Versuche); Ergebnis := Eingabe - Zufall; if Versuche <= Max then Label2.Caption := IntToStr (Versuche) + '. Versuch:' else Label2.Caption := 'Es reicht!'; if Eingabe = Zufall then Label1.Caption := 'Richtig geraten!';
if Eingabe < Zufall then begin Label1.Caption := 'Deine Zahl ist zu klein!'; if Abs(Eingabe - Zufall) < 3 then Label1.Caption := 'Deine Zahl ist zu klein! Nah dran!'; end;
if Eingabe > Zufall then begin Label1.Caption := 'Deine Zahl ist zu groß!'; if Abs(Eingabe - Zufall) < 3 then Label1.Caption := 'Deine Zahl ist zu groß! Nah dran!'; end;
if (Eingabe = Zufall) or (Versuche > Max) then begin Button1.Caption := 'Ende'; SpielEnde := true; end; except Label1.Caption := 'Quatsch!'; end; end;
Bis hier_______________________________________
procedure TForm1.Button2Click(Sender: TObject); begin Edit1.SetFocus; Label1.Caption := 'Ich denke mir eine neue Zahl!'; Label2.Caption := 'Rate mal!'; Button1.Caption := 'OK'; Zufall := random(100) + 1; Versuche := 1; SpielEnde := false; end;
procedure TForm1.Enter(Sender: TObject; var Key: Char); begin
end;
procedure TForm1.FormCreate(Sender: TObject); begin randomize; Zufall := random(100) + 1; Versuche := 1; SpielEnde := false; end;
end. |
Moderiert von Narses: Delphi-Tags hinzugefügtModeriert von Narses: Topic aus Sonstiges (Delphi) verschoben am Do 15.03.2018 um 15:03