C# Spielleben programmieren

marivuko

Cadet 3rd Year
Registriert
Mai 2013
Beiträge
48
Hallo,
hab mir ein kleines Spielchen programmiert.
Erklärung: Spieler1 bewegt sich im Feld, wenn er mit etwas in Berührung kommt verschwindet ein Leben,
das Spiel hat am Anfang 3 Leben, habe diese Leben in 3 verschiedenen PictureBoxen gepackt..(live1,live2,live3),
nun habe ich das Problem, dass wenn ich mit etwas in Berührung komme nur das erste Leben verschwindet und es geht nicht mehr weiter, aber eigentlich müssten nacheinander die Leben verschwinden..
habe es so probiert aber leider ohne Erfolg :(
wie könnte ich es sonst noch schreiben ?

Nun habe ich die Funktion
Code:
if spieler1......
{
 live1.Dispose();
                if (live1.Dispose();
                { 
                    live2.Dispose();
                }          
}
 
Hi,

if (live1.Dispose();

das dürfte falsch sein. Oder was liefert dir die Methode? Hast du ja selbst implementiert - oder was für ein Objekttyp ist "live1"? Du willst wahrscheinlich eher eine Eigenschaft "disposed" oder ähnliches prüfen. Die Methode führt ja wohl im Normalfall zu einer Zustandsänderung.

VG,
Mad
 
diese Methode löscht das erste Leben raus .. aber geht nicht mehr weiter
 
Wenn dus wirklich so billig programmieren willst^^

if spieler1......
{
if (live1.Visible == true) { live1.Visible = false; }
else if (live2.Visible == true) { live2.Visible = false; }
else if (live2.Visible == false) { /*DU BIST TOT*/ }
}

Vergiss nicht den Spieler oder so wegzuporten, sonst verliert man instant alle Leben.
 
Hi,

aber geht nicht mehr weiter

Was heißt das? Mensch lass dir nicht alles aus der Nase ziehen! Kommst du noch in die nächste Zeile? Debuggen! Wenn ja dann setze in der Methode ein Property von "live1", z.B. "disposed" oder ähnliches und prüfe das im "if".

VG,
Mad
 
achso sorry.. das heißt das nur das erste leben erlischt und die anderen einfach stehen bleiben, obwohl die leben eigentlich alle nacheinander gelöscht werden müssen
 
Wenn du eine kleine Herausforderung willst (für Anfänger), dann probiere das so zu lösen:

int lives = 3;

if (spieler....)
lives--;
 
Danke für die netten Hilfen hat perfekt funktioniert :p
 
Zurück
Oben