Programmieren C# Kniffel?
Hallo,
Ich bin momentan das Spiel Kniffel mit C# am programmieren. Ich habe es so programmiert, dass wenn man einen Button drückt, der Würfel mithilfe einer imagebox zwischen den Zahlen 1-6 zufällig eine ausgewählt wird.
Jetzt habe ich noch programmiert, dass wenn ich auf einen Würfel also imagebox klicke, die imagebox gesperrt werden soll, das heißt der Würfel generiert keine zufällige zahl mehr wenn ich auf den button drücke, solange ich den würfel nicht entsperre das heißt auf die imagebox nochmal klicke (das heißt der würfel verändert sich nicht solange ich ihn nicht entsperre).
Jetzt ist meine Frage, wie kann ich programmieren, dass wenn ich den button drücke die imagebox sich nicht verändert solange ich sie gesperrt habe.
LG
3 Antworten
bool imgboxGesperrt = true;
Dann im imagebox click Event
imgboxGesperrt = false;
Und im Button click event
if (imgboxGesperrt == false)
{...Button Aktion...}
Moin,
frag doch ab via
if (pictureBox1.Enabled)
wuerfeln(pictureBox1);
oder via
foreach (Control ctrl in (form1.Controls as Control))
if (ctrl.Name.Contains("Wuerfel") && ctrl.Enabled)
wuerfeln(ctrl as PictureBox);
Musst dann einfach innerhalb von würfeln die übergebene pictureBox bearbeiten und die pictureBox im zweiten Fall entsprechend benennen.
Das wären zwei einfache Methoden.
(Und, habe ich jetzt denke ich nicht rausgelesen, bei Click die Picturebox deaktivieren oder eine Liste führen (Hashtable, Dictionary), welche Boxen aktiviert sind - dann kannst du auch einfach die jeweilige Liste über den Namen abfragen)
LG
Wahrscheinlich brauchst du einen boolschen Wahrheitswert
z.B. so
public bool locked = false;
public void pictureBoxClick(){
locked = !locked; //toggle locked status
}
public void wuerfeln(){
if(!locked){
//hier wird gewuerfelt
}
}