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:
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.