AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spiel: Gedächtnistrainer

Ein Thema von fritte · begonnen am 1. Apr 2006 · letzter Beitrag vom 1. Apr 2006
Antwort Antwort
fritte

Registriert seit: 1. Apr 2006
4 Beiträge
 
#1

Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:07
Hallo zusammen,

ich hoffe ihr könnt bzw. wollt mir bei meinem Problem weiter helfen.

Es soll ein Gedächtnistrainer programmiert werden, der folgendermaßen funktionieren soll:
Der Computer schreibt eine Folge von Ziffern auf, die nach 3 Sekunden gelöscht wird. Der Spieler muss sich diese Folge merken und anschließend eingeben. Wenn er richtig geraten hat, wird die Folge um eine Ziffer verlängert. Das Spiel läuft so lange, bis die Ziffernfolge falsch eingetippt wird.

Hierzu mein Quelltext (ist nicht wirklich großartig, was ich bisher geschaft hab )


Delphi-Quellcode:
unit ZusatzU;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Edit2: TEdit;
    Button1: TButton;
    Button2: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
  folge:integer;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
    zufallszahl:Integer;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var zahl, zufallszahl:integer;

begin
zahl:=StrToInt(Edit1.Text);
timer1.Enabled:=false;
if Edit2.Text=Edit1.Text then
  begin
    showmessage('RICHTIG');
    zufallszahl:=zufallszahl*10+random(10)
  end
else
  begin
    Edit1.Text:='';
    Edit2.Text:='';
    showmessage('Wie lautet nun die zahlenfolge?');
  end
end;

procedure TForm1.Button2Click(Sender: TObject);
var zufallszahl:integer;
begin
randomize;
zufallszahl:=Random(800)+100;
Edit1.Text:=IntToStr(zufallszahl);
timer1.Enabled:=true;
end;

end.
Jetzt werden die ersten drei zahlen ausgegeben und nach 3 Sekunden gelöscht, und eine message gezeigt.
möchte man nun die Zahlenfolge eingeben, stürzt dass ganze ab.
Ich hätte das gaze vielleicht besser ander machen sollen...

Für die Profies unter euch ist mein problem vermutlich banal

Vielen Dank schon mal für eure Hilfe.
  Mit Zitat antworten Zitat
Ratte

Registriert seit: 12. Dez 2003
Ort: Erfurt
345 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:13
Du hast die Variabl zufallszahl einmal global definiert und dann in jeder procedure nochmal. Das muss quasi murks geben!
Schiffsratte der U.S.S. Delphipraxis, Laderaum 4538
BUSH:= TTerminator.create;
  Mit Zitat antworten Zitat
fritte

Registriert seit: 1. Apr 2006
4 Beiträge
 
#3

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:23
Wo hatte ich blos wieder meinen kopf?

Das prog ist leider immer noch weit davon entfernt, wirklich zu funktionieren.
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#4

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:25
Zitat:
Wenn er richtig geraten hat,
wenn er ratet hat er doch eh schon irgendwas falsch gemacht


ich mach mal schnell nen code für dich
Nico Müller
  Mit Zitat antworten Zitat
fritte

Registriert seit: 1. Apr 2006
4 Beiträge
 
#5

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:32
haha.... ,mein ausdruck lässt wohl was zu wünschen übrig.
ich kauf mir gleich mal ne tüte deutsch

danke, danke, danke, danke, danke, danke...
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#6

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:43
Delphi-Quellcode:
var
  Form1: TForm1;
  anzZ : Integer = 1;
  zZ : Integer;
implementation

{$R *.dfm}

Function MakeZZ(anzZ : Integer) : String;
var str : String;
    i : Integer;
begin
  str := '';
  if anzZ = 1 then str := IntTostr(random(100))
  else
  begin
    for i := 1 to anzZ do
      str := str + IntTostr(random(100)) + ',';
    delete(Str,Length(Str),1);
  end;
  result := str;

  end;
procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  label1.Caption := MakeZZ(anzZ);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  if edit1.Text = label1.Caption then
  begin
    Showmessage('Richtig');
    inc(anzZ);
    Label1.Caption := MakeZZ(anzZ);
    edit1.Text := '';
    label1.Visible := true;
  end
  else
    Showmessage('Falsch Ergebnis:' + IntToStr(anzZ));
  Timer1.Enabled := true;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  label1.visible := false;
  Timer1.Enabled := false;
end;
dürfte gehen - ist natürlich unsauber programmiert aber auf die schnelle gings ned so
gebraucht wird auf dem form 1 button, 1 label, 1 edit und ein timer

grüße Nico
Nico Müller
  Mit Zitat antworten Zitat
fritte

Registriert seit: 1. Apr 2006
4 Beiträge
 
#7

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:47
Vielen herzlichen Dank, hatte nicht mit ner so schnellen Reaktion auf meine Frage/Bitte gerechnet.
Danke, dass du dir die Zeit genommen hast Nicodius.
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#8

Re: Spiel: Gedächtnistrainer

  Alt 1. Apr 2006, 13:48
kein problem - bei unverständnissen einfach nachfragen


aja ich hab den code nochmal editiert dsa Timer1.Enabled := true; gehört am ende von button1.click hin
Nico Müller
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:54 Uhr.
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