Entwickler-Ecke

Sonstiges (Delphi) - Zufallsfärben mehrer panels


OcculsuInfernuM - So 07.01.07 16:02
Titel: Zufallsfärben mehrer panels
ich habe 4 panels die ich zufällig mit rot,grün blau und pink färben will

danach würd ich es gern mit 4 anderen panels vergleichen

wie mache ich das am besten?

soll ne art mastermind werden wenns fertig is


Christian S. - So 07.01.07 16:11

Wo hakt es denn? Wie man ein Panel färbt [http://www.delphi-forum.de/viewtopic.php?t=68370&highlight=] weißt Du ja nun.


jaenicke - So 07.01.07 16:16

Nun ja, ich würde ein Array der Farben nehmen, und dann mit Random für jedes Panel eine Farbe auswählen.

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
// oben über type
const
  PanelColors: array[0..4of TColor = (clRed, clGreen, clBlack, clWhite, clMaroon);
// in FormCreate
  Randomize;
// Bei der zufälligen Farbvergabe:
  pnlFirstColor.Color := PanelColors[Random(Length(PanelColors))];
  pnlSecondColor.Color := PanelColors[Random(Length(PanelColors))];

Tja, jetzt musst du noch den Vergleich machen. Und ggf. die Farben nur einmal vergeben, etc.
Ich hab dies hier mal direkt hingeschrieben, weil es doch vielleicht nicht ganz offensichtlich ist, wie man sowas macht... ;-)

// EDIT: Aber frag bitte, wenn du was davon nicht verstehst! Das ist jetzt nicht als Copy&Paste ohne Verstehen gedacht. ;-)


Dragonclaw - So 07.01.07 16:18

Hallo,

du könntest ein Array of TColor machen, und dort dann die Farben reinschreiben. Dann einfach mit random ein Element aus den Array auswählen auf dem Panel zuweisen.

Abfragen ob die Panels die selbe Farbe kannst du einfach mit


Delphi-Quelltext
1:
if Panel1.color = Panel2.color then ...                    


OcculsuInfernuM - So 07.01.07 16:30

user profile iconjaenicke hat folgendes geschrieben:


// EDIT: Aber frag bitte, wenn du was davon nicht verstehst! Das ist jetzt nicht als Copy&Paste ohne Verstehen gedacht. ;-)


jab is klar

-----------
was für ein "array of tcolor" wo find ich sowas?