Hey, liebes Forum!
Wir haben vor kurzem in Informatik mit Java angefangen und sollen jetzt ein kleines Spiel machen, ich bin also blutiger Anfänger.
Mein Spiel: Man steuert mit WASD eine Figur durch ein Labyrinth, sieht aber vom Labyrinth nur das, was von einer Taschenlampe beleuchtet wird, die Taschenlampe hab ich einfach mit Bildern erledigt (schwarzes Bild, in der Mitte die Figur und um die Figur ein transparenter Kreis). Dabei soll die Taschenlampe natürlich auch Energie verbrauchen, was ich mit einer Variable gemacht hab, die bei 100 beginnt. Wenn diese bei 50 ist kommt das Bild mit dem halb so großen transparenten Kreis, wenn sie bei 0 ist kommt das ohne Licht. Wenn man F (die Taste, mit der man die Taschenlampe einschaltet) wieder loslässt, soll sich die Batterie wieder aufladen.
Mein Code wäre jetzt:
So weit, so gut, nur funktioniert nur der obere Teil. Wenn ich F drücke ist die Taschenlampe an, wenn ichs loslasse aus und auch die Variable zählt von 100 ab runter. Allerdings geht das bis in den negativen Bereich und die Bilder wechseln nicht, wie es eigentlich passieren soll, und auch wenn ich F loslasse lädt sich die Batterie nicht auf. Was hab ich falsch gemacht ???:L
Danke schonmal für eure Hilfe
Wir haben vor kurzem in Informatik mit Java angefangen und sollen jetzt ein kleines Spiel machen, ich bin also blutiger Anfänger.
Mein Spiel: Man steuert mit WASD eine Figur durch ein Labyrinth, sieht aber vom Labyrinth nur das, was von einer Taschenlampe beleuchtet wird, die Taschenlampe hab ich einfach mit Bildern erledigt (schwarzes Bild, in der Mitte die Figur und um die Figur ein transparenter Kreis). Dabei soll die Taschenlampe natürlich auch Energie verbrauchen, was ich mit einer Variable gemacht hab, die bei 100 beginnt. Wenn diese bei 50 ist kommt das Bild mit dem halb so großen transparenten Kreis, wenn sie bei 0 ist kommt das ohne Licht. Wenn man F (die Taste, mit der man die Taschenlampe einschaltet) wieder loslässt, soll sich die Batterie wieder aufladen.
Mein Code wäre jetzt:
Java:
if(Greenfoot.isKeyDown("F")){
setImage("Typ_100.png");
Greenfoot.delay(10);
batterie = batterie - 10;
}
else{
setImage("Typ_0.png");
}
if(Greenfoot.isKeyDown("F") & batterie == 50){
setImage("Typ_50.png");
}
if(Greenfoot.isKeyDown("F") & batterie == 0){
setImage("Typ_0.png");
}
if(batterie == 0 & !Greenfoot.isKeyDown("F")){
batterie = 50;
Greenfoot.delay(100);
batterie = 100;
}
So weit, so gut, nur funktioniert nur der obere Teil. Wenn ich F drücke ist die Taschenlampe an, wenn ichs loslasse aus und auch die Variable zählt von 100 ab runter. Allerdings geht das bis in den negativen Bereich und die Bilder wechseln nicht, wie es eigentlich passieren soll, und auch wenn ich F loslasse lädt sich die Batterie nicht auf. Was hab ich falsch gemacht ???:L
Danke schonmal für eure Hilfe