Autor Beitrag
en!gma
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Do 25.08.05 23:59 
hi!
ich wollt mich mal an einem mastermind clon probieren.
ich wollte erstmal oben eine reihe erstellen lassen mit 5 zufällig ausgewählten farben.

also rufe ich diese prozedur ganz am anfang auf:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
procedure TForm1.zufallsFarben(number:integer);
var img : Timage;
    randomNr,i:integer;
begin
 for i := 89 to 88+number do
  begin
  img := TImage(FindComponent('image' + inttostr(i)));
   if img <> nil then
   begin
    randomNr:=random(3)+1;
    img.Picture.Bitmap.LoadFromFile('skins\standard\color'+intToStr(randomNr)+'.bmp');
    img.Hint:=intToStr(randomNr);
   end;
  end;
end;

89-88+number sind halt die bilder die in der obersten reihe sind.
das +number ist dafür gut, falls ich später die anzahl der spalten angeben möchte.

nur bekomme ich bei diesem random nun IMMER die farben
1 1 2 1 1 2 1 1
wieso?
was ist falsch?
random(3) sollte doch 0-2 ausgeben. +1 sollte also 1-3 ergeben.
also color1/2/3.bmp....
wenn ich das random(3)+1 anstatt dem randomNR einsetze, kommt zwar ein anderes ergebnis raus, aber trotzdem bleibt dies immer das selbe.

achja und bevor jemand fragt, ich speicher in hint nur die farbe der kugel ab.
denn hint brauch ich ja sonst nicht bei einem image.
jemand ne idee?

danke schonmal.
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: Fr 26.08.05 00:02 
hm haste randomize irgendwo?
bei mir klappt randomNr:=random(3)+1; in ner button methode, bekomme zahlen von 1 bis drei... auch ohne randomize...
speicher einfach ma und start delphi neu viell nen bug

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700


Zuletzt bearbeitet von Amateur am Fr 26.08.05 00:05, insgesamt 1-mal bearbeitet
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Fr 26.08.05 00:03 
nein
eigentlich nur das was oben steht.
ich ruf das ganze aus dem form create auf.
Amateur
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 777

(Win98, WinMe) WinXP Prof
D3 Prof, D6 Pers, D2k5 Pers., Turbo C++ Explorer
BeitragVerfasst: Fr 26.08.05 00:06 
mach halt ma randomize gleich als erstes in die create methode
viell gehts ja

_________________
"Kein dummes Gerede. Kein Rumrätseln. Denkt an nichts anderes mehr, nur noch an das, was vor euch liegt. Das ist die wahre Herausforderung. Ihr müßt euch vor euch selbst schützen, Leute." (Rennes in "Cube")
Beiträge: >700
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Fr 26.08.05 00:08 
yeah das wars schon danke.
war mir auch neu dieses randomize.
thx nochmal
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 26.08.05 00:29 
user profile iconen!gma hat folgendes geschrieben:
war mir auch neu dieses randomize.

Dan habe ich noch was neues für dich: Die Delphi Hilfe. Und da steht, man mag es kaum glauben, bei Ramdom:
Zitat:

To initialize the random number generator, add a single call Randomize or assign a value to the RandSeed variable before making any calls to Random.

:roll:
Warum fragst du also hier im Forum? In der Hilfe steht doch schon alles. Und wenn ich mit einer Delphi Funktion nicht klar komme oder sie Probleme bereitet, dann ist meine erste Anlaufstelle immer die Hilfe.
en!gma Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 378

win xp
delphi 7.0
BeitragVerfasst: Fr 26.08.05 13:43 
sorry hab nur kurz in die delphi hilfe geschaut und bin mal drübergeflogen.
hab das wohl übersehen
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Fr 26.08.05 13:56 
trotzdem sollte auch bei nicht vorherigem setzen von randseed bzw aufrufen von randomize werte von 0-2 rauskommen

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit