Grmbl Grmpf. Hier:
Delphi-Quellcode:
implementation
var
{variable der wir die Farbe übergeben}
Colour: Byte;
Const
{Die Werte die die obige Farbe annehmen kann}
ColRed = 0;
ColBlue = 1;
ColYellow = 2;
{Die folgenden Prozeduren sind die OnClick Ereignisse Deiner Buttons. Der Label dient nur zur Farbausgabe}
Procedure InitCol;
Begin
{Zufällige Farbe zuweisen. Random liefert einen Wert zwischen 0 und der angegebenen Zahl.}
Colour:= Random(2) + 1;
Case Colour of
ColRed: ColLbl.Caption:= 'Rot';
...
End;
End;
Procedure StartBtn.Click;
Begin
InitCol;
End;
Procedure RedBtn.Click;
Begin
If Colour = ColRed then
Begin
{Richtig geraten. Erstmal eine Box mit nem schönen Text ausgeben.}
MessageBox(0, 'Sehr gut, Du hast gewonnen.', 'Super!', mb_ok+mb_taskmodal);
InitCol;
End Else
Begin
{Falsch geraten}
MessageBox(0, 'Falsch geraten, Du hast verloren.', 'Schlech!', mb_ok+mb_taskmodal);
End;
End;
Nun gut, und damit Du etwas lernst, hier noch einige Erklärungen:
Du hast also die Procedure
InitCol
, welche eine zufällige Farbe ermittelt und diese dann in text umwandelt der in einem Label ausgegeben wird. Der Benutzer weis also was er drücken muss.
Dann klickt der auf den Knopf auf dem steht "Rot" (z.B.). Im OnClick wird nun die Farbe überprüft (das ist die IF-THEN-Anweisung), und je nach Richtigkeit eine Meldung ausgegeben. Ausserdem wird, wenn es richtig war, eine neue Farbe ausgegeben.
Zur Procedure MessageBox. Habe sie gearde nicht im Kopf, aber die 0 ist glaube ich, weil Du keinen Besitzer angibst, dann kommt ein Text und ein Titel für das Fenster (oder umgekehrt), dann kommen ein paar Anweisungen zur Formatierung:
mb_ok: Es wird nur ein OK-Knopf gezeigt
mb_taskmodal: Das programm steht so lange, bis der Benutzer auf OK gedrückt hat.
So, noch Fragen?