Einzelnen Beitrag anzeigen

guidok

Registriert seit: 28. Jun 2007
417 Beiträge
 
#10

Re: Zufallszahlen, wer kann helfen?

  Alt 17. Nov 2009, 08:41
Du hast doch schon eine Schleife, mit der du solange Zufallszahlen ziehst, bis du die gewünschte (in deinem Fall die 1) erhältst.

Jetzt musst du nur noch diese Schleife in einer zweiten Schleife "verpacken", die alle Zahlen von 1 - 16 zieht:

Pseudocode:

Delphi-Quellcode:
for GesuchteZahl := 1 to 16 do begin
  AnzahlVersuche := 0;
  repeat
    ZahlZiehen;
    AnzahlVersuche := AnzahlVersuche + 1;
  until GezogeneZahl = GesuchteZahl;
  AnzahlVersucheInGridEintragen;
  GesuchteZahlInGridEintragen;
end;

Edit: Tschuldigung, die oben aufgezeigte Lösung füllt das Grid natürlich in einem Rutsch. Du möchtest ja Klicken. In diesem Fall benötigts du eine globale Variable GesuchteZahl, die du am Anfang auf 1 setzt (das ist ja die erste Zahl die du suchst) und mit jedem Klick auf den Button ermittelst du nun die Anzahl der Versuche, diese Zahl zu ziehen, Grid füllen, GesuchteZahl um eins erhöhen. Damit suchst du nun beim nächsten Klick nach der nächsten Zahl, solange, bis die 16 erreicht wurde.



Das Eintragen der Zahlen in das Grid, ist wieder etwas tricky (soll ja nicht so einfach sein).
Im einfachsten Fall, hätte das Grid die 16 Zellen in einer Reihe oder in einer Spalte, dann wäre die Zielspalte für den Eintrag einfach Grid.Cell[GesuchteZahl, 0].

So ist es aber leider nicht, daher musst du abhängig von der GesuchtenZahl in die richtige Zelle schreiben. Dafür gibt es mehrere Möglichkeiten, deren einfachste evtl. ein "Case GesuchteZahl of" ist.
  Mit Zitat antworten Zitat