Brauche Hilfe beim Programmieren in Greenfoot?

... komplette Frage anzeigen

1 Antwort

Das kannst nur du dir selbst beantworten, da es mit dem grundlegenden Design deines Programms zusammenhängt.

Außerdem:

SCHREIBE NICHT ==true!

If() erwartet einen booleschen Ausdruck. true ist ein boolescher Wert. true==true ist ebenfalls ein boolescher Wert, aber ein völlig unnötiger Ausdruck, da es das Gleiche wie true ist.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Luxuser
07.11.2015, 21:16

Ich hab den Code jetzt bissel geändert, er schreibt jetzt rein das der NPC dann tot ist, sprich boolsche ausdruck ist true. Jetzt bewegt sich nur kein spieler mehr, ob tot oder nicht ???

import greenfoot.*;

public class NPC extends PI1GameActor{ 

 private boolean dead = false; 

public NPC() { 

 setOrigin(24, 83); //Setzt den Ursrung auf die Mitte der Unteren Kante der Graphik } 

 public void setDead(boolean d){ dead =d; } 

 public boolean getDead(){ return dead; }

 public void act(){ 

 CSWorld map = (CSWorld)getWorld();

int rotation=getRotation(); 

 if(isObjectHere("Player")){ 

 map.getTod().bury(this); 

 setDead(true); 

 if(getDead() == true)map.stopped(); 

 else{ if(map.getPlayerMoved()==true){

 if(rotation == 0 && isObjectHere("FloorSE")) move(1); 

else if(rotation == 1 && isObjectHere("FloorSW")) move(1); 

else if(rotation == 2 && isObjectHere("FloorNW")) move(1); 

else if(rotation == 3 && isObjectHere("FloorNE")) move(1); 

else setRotation(Greenfoot.getRandomNumber(4)); } 

}

}

}

}

0