Hallo zusammen,
ich hab hier so ne Aufgabe, die mir leichte Kopfscmerzen bereitet (für die Profies unter euch ist diese Aufgabe warscheinlich banal, aber ich als Anfänger......haha kp :roll: )
Die Aufgabe:
Der Computer schreibt eine Folge von Ziffern auf den Bildschirm, die nach 3 Seckunden gelöscht wird. Der Spieler muss sich diese Folge merken und anschließend eingeben. Wenn er richtig eingegeben hat, wird die Folge um eine Ziffer verlängert. Das Spiel läuft so lange, bis die Zifferfolge falsch eingetippt wird.
Dazu habe ich jezt folgenden Code
Alles anzeigen
Das Problem ist jezt, dass zwar immer ne zahl zu komm, aber die folge nicht weiter geführt wird, also:
375
8402
23196 usw.
anstatt:
384
3842
38428 usw.
Wie müsste das ganze richtig lauten? Würde mich über eure Hilfe freuen.
Und danke schon mal im vorraus...
ich hab hier so ne Aufgabe, die mir leichte Kopfscmerzen bereitet (für die Profies unter euch ist diese Aufgabe warscheinlich banal, aber ich als Anfänger......haha kp :roll: )
Die Aufgabe:
Der Computer schreibt eine Folge von Ziffern auf den Bildschirm, die nach 3 Seckunden gelöscht wird. Der Spieler muss sich diese Folge merken und anschließend eingeben. Wenn er richtig eingegeben hat, wird die Folge um eine Ziffer verlängert. Das Spiel läuft so lange, bis die Zifferfolge falsch eingetippt wird.
Dazu habe ich jezt folgenden Code
Quellcode
- unit ZusatzU;
- interface
- uses
- Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
- Dialogs, ExtCtrls, StdCtrls;
- type
- TForm1 = class(TForm)
- Timer1: TTimer;
- Label1: TLabel;
- Edit1: TEdit;
- Button1: TButton;
- Label2: TLabel;
- Label3: TLabel;
- Label4: TLabel;
- Button2: TButton;
- procedure Timer1Timer(Sender: TObject);
- procedure Button1Click(Sender: TObject);
- procedure FormCreate(Sender: TObject);
- procedure Button2Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
- var
- Form1: TForm1;
- anZ : Integer = 4;
- Z : Integer;
- implementation
- {$R *.dfm}
- Function MakeZ(anZ : Integer) : String;
- var str : String;
- i : Integer;
- begin
- str := '';
- if anZ = 1 then str := IntTostr(random(800)+100)
- else
- begin
- for i := 1 to anZ do
- str := str + IntTostr(random(10));
- delete(Str,Length(Str),1);
- end;
- result := str;
- end;
- procedure TForm1.Timer1Timer(Sender: TObject);
- begin
- Edit1.Visible:=true;
- Label1.Visible:=false;
- Timer1.Enabled:=false;
- Button1.Enabled:=true;
- end;
- procedure TForm1.Button1Click(Sender: TObject);
- begin
- Edit1.Visible:=false;
- Button1.Enabled:=false;
- if edit1.Text = label1.Caption then
- begin
- Showmessage('Das ist richtig!');
- inc(anZ);
- Label1.Caption := MakeZ(anZ);
- edit1.Text := '';
- label1.Visible := true;
- end
- else
- Showmessage('Leider Falsch! Du konntest dir '+IntToStr(anZ)+ ' Ziffern merken!');
- timer1.enabled:=true;
- end;
- procedure TForm1.FormCreate(Sender: TObject);
- begin
- randomize;
- label1.Caption := MakeZ(anZ);
- end;
- procedure TForm1.Button2Click(Sender: TObject);
- begin
- Form1.Close;
- end;
- end.
Das Problem ist jezt, dass zwar immer ne zahl zu komm, aber die folge nicht weiter geführt wird, also:
375
8402
23196 usw.
anstatt:
384
3842
38428 usw.
Wie müsste das ganze richtig lauten? Würde mich über eure Hilfe freuen.
Und danke schon mal im vorraus...