removed testing files
This commit is contained in:
@@ -1,380 +0,0 @@
|
|||||||
// import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
|
|
||||||
|
|
||||||
// //Comment that the interpreter may never know of
|
|
||||||
|
|
||||||
// public class Rover extends Actor
|
|
||||||
// {
|
|
||||||
// private Display anzeige;
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * this function is to be implemented by the user
|
|
||||||
// * depending on the needed actions
|
|
||||||
// */
|
|
||||||
|
|
||||||
// public Display getDisplay()
|
|
||||||
// {
|
|
||||||
// return anzeige;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void act()
|
|
||||||
// {
|
|
||||||
// S66Nr3(7);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void fahreUmHuegel(String richtung)
|
|
||||||
// {
|
|
||||||
// String pri;
|
|
||||||
// String sec;
|
|
||||||
// if(richtung.equals("Hoch")) {
|
|
||||||
// pri = "links";
|
|
||||||
// sec = "rechts";
|
|
||||||
// } else if (richtung.equals("Runter")) {
|
|
||||||
// pri = "rechts";
|
|
||||||
// sec = "links";
|
|
||||||
// } else {
|
|
||||||
// nachricht("JUNGE DU SPAST!");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// drehe(pri);
|
|
||||||
// fahre();
|
|
||||||
// drehe(sec);
|
|
||||||
// fahre();
|
|
||||||
// fahre();
|
|
||||||
// drehe(sec);
|
|
||||||
// fahre();
|
|
||||||
// drehe(pri);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void fahreBisHuegel()
|
|
||||||
// {
|
|
||||||
// while(!huegelVorhanden("vorne"))
|
|
||||||
// {
|
|
||||||
// fahre();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void fahreZeileDreheHoch()
|
|
||||||
// {
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// fahreUmHuegel("Hoch");
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// drehe("um");
|
|
||||||
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// fahreUmHuegel("Runter");
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// drehe("rechts");
|
|
||||||
// fahre();
|
|
||||||
// drehe("rechts");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void fahreZeileDreheRunter(boolean geheInNächsteZeile)
|
|
||||||
// {
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// fahreUmHuegel("Runter");
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// drehe("um");
|
|
||||||
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// fahreUmHuegel("Hoch");
|
|
||||||
// fahreBisHuegel();
|
|
||||||
// if(geheInNächsteZeile) {
|
|
||||||
// drehe("rechts");
|
|
||||||
// fahre();
|
|
||||||
// drehe("rechts");
|
|
||||||
// } else {
|
|
||||||
// drehe("um");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void S66Nr3(int anzahlZeilen)
|
|
||||||
// {
|
|
||||||
// if(anzahlZeilen < 3) {
|
|
||||||
// nachricht("Ich muss mindestens drei Zeilen fahren! :(");
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// int i = 1;
|
|
||||||
// fahreZeileDreheHoch();
|
|
||||||
// for(; i < anzahlZeilen-1; i++) {
|
|
||||||
// fahreZeileDreheRunter(true);
|
|
||||||
// }
|
|
||||||
// fahreZeileDreheRunter(false);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover bewegt sich ein Feld in Fahrtrichtung weiter.
|
|
||||||
// * Sollte sich in Fahrtrichtung ein Objekt der Klasse Huegel befinden oder er sich an der Grenze der Welt befinden,
|
|
||||||
// * dann erscheint eine entsprechende Meldung auf dem Display.
|
|
||||||
// */
|
|
||||||
// public void fahre()
|
|
||||||
// {
|
|
||||||
// int posX = getX();
|
|
||||||
// int posY = getY();
|
|
||||||
|
|
||||||
// if(huegelVorhanden("vorne"))
|
|
||||||
// {
|
|
||||||
// nachricht("Zu steil!");
|
|
||||||
// }
|
|
||||||
// else if(getRotation()==270 && getY()==1)
|
|
||||||
// {
|
|
||||||
// nachricht("Ich kann mich nicht bewegen");
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// move(1);
|
|
||||||
// Greenfoot.delay(1);
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if(posX==getX()&&posY==getY()&&!huegelVorhanden("vorne"))
|
|
||||||
// {
|
|
||||||
// nachricht("Ich kann mich nicht bewegen");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover dreht sich um 90 Grad in die Richtung, die mit richtung (ᅵlinksᅵ oder ᅵrechtsᅵ) ᅵbergeben wurde.
|
|
||||||
// * Sollte ein anderer Text (String) als "rechts" oder "links" ᅵbergeben werden, dann erscheint eine entsprechende Meldung auf dem Display.
|
|
||||||
// */
|
|
||||||
// public void drehe(String richtung)
|
|
||||||
// {
|
|
||||||
// if(richtung.equals("rechts")){
|
|
||||||
// setRotation(getRotation()+90);
|
|
||||||
// }else if(richtung.equals("links")){
|
|
||||||
// setRotation(getRotation()-90);
|
|
||||||
// } else if(richtung.equals("um")) {
|
|
||||||
// setRotation(getRotation()+180);
|
|
||||||
// }else {
|
|
||||||
// nachricht("Keinen Korrekte Richtung gegeben!");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover gibt durch einen Wahrheitswert (true oder false )zurᅵck, ob sich auf seiner Position ein Objekt der Klasse Gestein befindet.
|
|
||||||
// * Eine entsprechende Meldung erscheint auch auf dem Display.
|
|
||||||
// */
|
|
||||||
// public boolean gesteinVorhanden()
|
|
||||||
// {
|
|
||||||
// if(getOneIntersectingObject(Gestein.class)!=null)
|
|
||||||
// {
|
|
||||||
// nachricht("Gestein gefunden!");
|
|
||||||
// return true;
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover ᅵberprᅵft, ob sich in richtung ("rechts", "links", oder "vorne") ein Objekt der Klasse Huegel befindet.
|
|
||||||
// * Das Ergebnis wird auf dem Display angezeigt.
|
|
||||||
// * Sollte ein anderer Text (String) als "rechts", "links" oder "vorne" ᅵbergeben werden, dann erscheint eine entsprechende Meldung auf dem Display.
|
|
||||||
// */
|
|
||||||
// public boolean huegelVorhanden(String richtung)
|
|
||||||
// {
|
|
||||||
// int rot = getRotation();
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==0 || richtung=="rechts" && rot==270 || richtung=="links" && rot==90)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(1,0,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(1,0,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==180 || richtung=="rechts" && rot==90 || richtung=="links" && rot==270)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(-1,0,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(-1,0,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==90 || richtung=="rechts" && rot==0 || richtung=="links" && rot==180)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(0,1,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(0,1,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==270 || richtung=="rechts" && rot==180 || richtung=="links" && rot==0)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(0,-1,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(0,-1,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if(richtung!="vorne" && richtung!="links" && richtung!="rechts")
|
|
||||||
// {
|
|
||||||
// nachricht("Befehl nicht korrekt!");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover ermittelt den Wassergehalt des Gesteins auf seiner Position und gibt diesen auf dem Display aus.
|
|
||||||
// * Sollte kein Objekt der Klasse Gestein vorhanden sein, dann erscheint eine entsprechende Meldung auf dem Display.
|
|
||||||
// */
|
|
||||||
// public void analysiereGestein()
|
|
||||||
// {
|
|
||||||
// if(gesteinVorhanden())
|
|
||||||
// {
|
|
||||||
// nachricht("Gestein untersucht! Wassergehalt ist " + ((Gestein)getOneIntersectingObject(Gestein.class)).getWassergehalt()+"%.");
|
|
||||||
// Greenfoot.delay(1);
|
|
||||||
// removeTouching(Gestein.class);
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// nachricht("Hier ist kein Gestein");
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * Der Rover erzeugt ein Objekt der Klasse ᅵMarkierungᅵ auf seiner Position.
|
|
||||||
// */
|
|
||||||
// public void setzeMarke()
|
|
||||||
// {
|
|
||||||
// getWorld().addObject(new Marke(), getX(), getY());
|
|
||||||
// }
|
|
||||||
|
|
||||||
// /**
|
|
||||||
// * *Der Rover gibt durch einen Wahrheitswert (true oder false )zurᅵck, ob sich auf seiner Position ein Objekt der Marke befindet.
|
|
||||||
// * Eine entsprechende Meldung erscheint auch auf dem Display.
|
|
||||||
// */
|
|
||||||
// public boolean markeVorhanden()
|
|
||||||
// {
|
|
||||||
// if(getOneIntersectingObject(Marke.class)!=null)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void entferneMarke()
|
|
||||||
// {
|
|
||||||
// if(markeVorhanden())
|
|
||||||
// {
|
|
||||||
// removeTouching(Marke.class);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void nachricht(String pText)
|
|
||||||
// {
|
|
||||||
// if(anzeige!=null)
|
|
||||||
// {
|
|
||||||
// anzeige.anzeigen(pText);
|
|
||||||
// Greenfoot.delay(1);
|
|
||||||
// anzeige.loeschen();
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// private void displayAusschalten()
|
|
||||||
// {
|
|
||||||
// getWorld().removeObject(anzeige);
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// protected void addedToWorld(World world)
|
|
||||||
// {
|
|
||||||
// setImage("images/rover.png");
|
|
||||||
// world = getWorld();
|
|
||||||
// anzeige = new Display();
|
|
||||||
// anzeige.setImage("images/nachricht.png");
|
|
||||||
// world.addObject(anzeige, 7, 0);
|
|
||||||
// if(getY()==0)
|
|
||||||
// {
|
|
||||||
// setLocation(getX(),1);
|
|
||||||
// }
|
|
||||||
// anzeige.anzeigen("Ich bin bereit");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// class Display extends Actor
|
|
||||||
// {
|
|
||||||
// GreenfootImage bild;
|
|
||||||
|
|
||||||
// public Display()
|
|
||||||
// {
|
|
||||||
// bild = getImage();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void act()
|
|
||||||
// {
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void anzeigen(String pText)
|
|
||||||
// {
|
|
||||||
// loeschen();
|
|
||||||
// getImage().drawImage(new GreenfootImage(pText, 25, Color.BLACK, new Color(0, 0, 0, 0)),10,10);
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public void loeschen()
|
|
||||||
// {
|
|
||||||
// getImage().clear();
|
|
||||||
// setImage("images/nachricht.png");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// public class Direction {
|
|
||||||
// Direction(int val){
|
|
||||||
// this.value = val;
|
|
||||||
// }
|
|
||||||
// final int value;
|
|
||||||
// };
|
|
||||||
// }
|
|
||||||
|
|
||||||
class Testing {
|
|
||||||
|
|
||||||
public void test_function() {
|
|
||||||
int rot = getRotation();
|
|
||||||
|
|
||||||
//if (richtung=="vorne" && rot==0 || richtung=="rechts" && rot==270 || richtung=="links" && rot==90)
|
|
||||||
//{
|
|
||||||
if(getOneObjectAtOffset(1,0,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(1,0,Huegel.class)).getSteigung() >30)
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
//}
|
|
||||||
|
|
||||||
//if (richtung=="vorne" && rot==180 || richtung=="rechts" && rot==90 || richtung=="links" && rot==270)
|
|
||||||
//{
|
|
||||||
// if(getOneObjectAtOffset(-1,0,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(-1,0,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==90 || richtung=="rechts" && rot==0 || richtung=="links" && rot==180)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(0,1,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(0,1,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (richtung=="vorne" && rot==270 || richtung=="rechts" && rot==180 || richtung=="links" && rot==0)
|
|
||||||
// {
|
|
||||||
// if(getOneObjectAtOffset(0,-1,Huegel.class)!=null && ((Huegel)getOneObjectAtOffset(0,-1,Huegel.class)).getSteigung() >30)
|
|
||||||
// {
|
|
||||||
// return true;
|
|
||||||
// }
|
|
||||||
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if(richtung!="vorne" && richtung!="links" && richtung!="rechts")
|
|
||||||
// {
|
|
||||||
// nachricht("Befehl nicht korrekt!");
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,281 +0,0 @@
|
|||||||
importgreenfoot.*;//(World,Actor,GreenfootImage,GreenfootandMouseInfo)
|
|
||||||
classRoverextendsActor
|
|
||||||
{
|
|
||||||
Displayanzeige;
|
|
||||||
/**
|
|
||||||
*thisfunctionistobeimplementedbytheuser
|
|
||||||
*dependingontheneededactions
|
|
||||||
*/
|
|
||||||
voidact()
|
|
||||||
{
|
|
||||||
S66Nr3(7);
|
|
||||||
}
|
|
||||||
voidfahreUmHuegel(Stringrichtung)
|
|
||||||
{
|
|
||||||
Stringpri;
|
|
||||||
Stringsec;
|
|
||||||
if(richtung.equals("Hoch")){
|
|
||||||
pri="links";
|
|
||||||
sec="rechts";
|
|
||||||
}else{
|
|
||||||
if(richtung.equals("Runter")){
|
|
||||||
pri="rechts";
|
|
||||||
sec="links";
|
|
||||||
}else{
|
|
||||||
nachricht("JUNGEDUSPAST!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
drehe(pri);
|
|
||||||
fahre();
|
|
||||||
drehe(sec);
|
|
||||||
fahre();
|
|
||||||
fahre();
|
|
||||||
drehe(sec);
|
|
||||||
fahre();
|
|
||||||
drehe(pri);
|
|
||||||
}
|
|
||||||
voidfahreBisHuegel()
|
|
||||||
{
|
|
||||||
while(!huegelVorhanden("vorne"))
|
|
||||||
{
|
|
||||||
fahre();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
voidfahreZeileDreheHoch()
|
|
||||||
{
|
|
||||||
fahreBisHuegel();
|
|
||||||
fahreUmHuegel("Hoch");
|
|
||||||
fahreBisHuegel();
|
|
||||||
drehe("um");
|
|
||||||
fahreBisHuegel();
|
|
||||||
fahreUmHuegel("Runter");
|
|
||||||
fahreBisHuegel();
|
|
||||||
drehe("rechts");
|
|
||||||
fahre();
|
|
||||||
drehe("rechts");
|
|
||||||
}
|
|
||||||
voidfahreZeileDreheRunter(booleangeheInNächsteZeile)
|
|
||||||
{
|
|
||||||
fahreBisHuegel();
|
|
||||||
fahreUmHuegel("Runter");
|
|
||||||
fahreBisHuegel();
|
|
||||||
drehe("um");
|
|
||||||
fahreBisHuegel();
|
|
||||||
fahreUmHuegel("Hoch");
|
|
||||||
fahreBisHuegel();
|
|
||||||
if(geheInNächsteZeile){
|
|
||||||
drehe("rechts");
|
|
||||||
fahre();
|
|
||||||
drehe("rechts");
|
|
||||||
}else{
|
|
||||||
drehe("um");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
voidS66Nr3(intanzahlZeilen)
|
|
||||||
{
|
|
||||||
if(anzahlZeilen<3){
|
|
||||||
nachricht("IchmussmindestensdreiZeilenfahren!:(");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
fahreZeileDreheHoch();
|
|
||||||
for(inti=1;i<anzahlZeilen-1;i++){
|
|
||||||
fahreZeileDreheRunter(true);
|
|
||||||
}
|
|
||||||
fahreZeileDreheRunter(false);
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRoverbewegtsicheinFeldinFahrtrichtungweiter.
|
|
||||||
*SolltesichinFahrtrichtungeinObjektderKlasseHuegelbefindenoderersichanderGrenzederWeltbefinden,
|
|
||||||
*dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
|
||||||
*/
|
|
||||||
voidfahre()
|
|
||||||
{
|
|
||||||
intposX=getX();
|
|
||||||
intposY=getY();
|
|
||||||
if(huegelVorhanden("vorne"))
|
|
||||||
{
|
|
||||||
nachricht("Zusteil!");
|
|
||||||
}
|
|
||||||
elseif(getRotation()==270&&getY()==1)
|
|
||||||
{
|
|
||||||
nachricht("Ichkannmichnichtbewegen");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
move(1);
|
|
||||||
Greenfoot.delay(1);
|
|
||||||
}
|
|
||||||
if(posX==getX()&&posY==getY()&&!huegelVorhanden("vorne"))
|
|
||||||
{
|
|
||||||
nachricht("Ichkannmichnichtbewegen");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRoverdrehtsichum90GradindieRichtung,diemitrichtung(ᅵlinksᅵoderᅵrechtsᅵ)ᅵbergebenwurde.
|
|
||||||
*SollteeinandererText(String)als"rechts"oder"links"ᅵbergebenwerden,dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
|
||||||
*/
|
|
||||||
voiddrehe(Stringrichtung)
|
|
||||||
{
|
|
||||||
if(richtung.equals("rechts")){
|
|
||||||
setRotation(getRotation()+90);
|
|
||||||
}elseif(richtung.equals("links")){
|
|
||||||
setRotation(getRotation()-90);
|
|
||||||
}elseif(richtung.equals("um")){
|
|
||||||
setRotation(getRotation()+180);
|
|
||||||
}else{
|
|
||||||
nachricht("KeinenKorrekteRichtunggegeben!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRovergibtdurcheinenWahrheitswert(trueoderfalse)zurᅵck,obsichaufseinerPositioneinObjektderKlasseGesteinbefindet.
|
|
||||||
*EineentsprechendeMeldungerscheintauchaufdemDisplay.
|
|
||||||
*/
|
|
||||||
booleangesteinVorhanden()
|
|
||||||
{
|
|
||||||
if(getOneIntersectingObject(Gestein.class)!=null)
|
|
||||||
{
|
|
||||||
nachricht("Gesteingefunden!");
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
returnfalse;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRoverᅵberprᅵft,obsichinrichtung("rechts","links",oder"vorne")einObjektderKlasseHuegelbefindet.
|
|
||||||
*DasErgebniswirdaufdemDisplayangezeigt.
|
|
||||||
*SollteeinandererText(String)als"rechts","links"oder"vorne"ᅵbergebenwerden,dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
|
||||||
*/
|
|
||||||
booleanhuegelVorhanden(Stringrichtung)
|
|
||||||
{
|
|
||||||
introt=getRotation();
|
|
||||||
if(richtung=="vorne"&&rot==0||richtung=="rechts"&&rot==270||richtung=="links"&&rot==90)
|
|
||||||
{
|
|
||||||
if(getOneObjectAtOffset(1,0,Huegel.class)!=null&&((Huegel)getOneObjectAtOffset(1,0,Huegel.class)).getSteigung()>30)
|
|
||||||
{
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(richtung=="vorne"&&rot==180||richtung=="rechts"&&rot==90||richtung=="links"&&rot==270)
|
|
||||||
{
|
|
||||||
if(getOneObjectAtOffset(-1,0,Huegel.class)!=null&&((Huegel)getOneObjectAtOffset(-1,0,Huegel.class)).getSteigung()>30)
|
|
||||||
{
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(richtung=="vorne"&&rot==90||richtung=="rechts"&&rot==0||richtung=="links"&&rot==180)
|
|
||||||
{
|
|
||||||
if(getOneObjectAtOffset(0,1,Huegel.class)!=null&&((Huegel)getOneObjectAtOffset(0,1,Huegel.class)).getSteigung()>30)
|
|
||||||
{
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(richtung=="vorne"&&rot==270||richtung=="rechts"&&rot==180||richtung=="links"&&rot==0)
|
|
||||||
{
|
|
||||||
if(getOneObjectAtOffset(0,-1,Huegel.class)!=null&&((Huegel)getOneObjectAtOffset(0,-1,Huegel.class)).getSteigung()>30)
|
|
||||||
{
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(richtung!="vorne"&&richtung!="links"&&richtung!="rechts")
|
|
||||||
{
|
|
||||||
nachricht("Befehlnichtkorrekt!");
|
|
||||||
}
|
|
||||||
returnfalse;
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRoverermitteltdenWassergehaltdesGesteinsaufseinerPositionundgibtdiesenaufdemDisplayaus.
|
|
||||||
*SolltekeinObjektderKlasseGesteinvorhandensein,dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
|
||||||
*/
|
|
||||||
voidanalysiereGestein()
|
|
||||||
{
|
|
||||||
if(gesteinVorhanden())
|
|
||||||
{
|
|
||||||
nachricht("Gesteinuntersucht!Wassergehaltist"+((Gestein)getOneIntersectingObject(Gestein.class)).getWassergehalt()+"%.");
|
|
||||||
Greenfoot.delay(1);
|
|
||||||
removeTouching(Gestein.class);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
nachricht("HieristkeinGestein");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
*DerRovererzeugteinObjektderKlasseᅵMarkierungᅵaufseinerPosition.
|
|
||||||
*/
|
|
||||||
voidsetzeMarke()
|
|
||||||
{
|
|
||||||
getWorld().addObject(newMarke(),getX(),getY());
|
|
||||||
}
|
|
||||||
/**
|
|
||||||
**DerRovergibtdurcheinenWahrheitswert(trueoderfalse)zurᅵck,obsichaufseinerPositioneinObjektderMarkebefindet.
|
|
||||||
*EineentsprechendeMeldungerscheintauchaufdemDisplay.
|
|
||||||
*/
|
|
||||||
booleanmarkeVorhanden()
|
|
||||||
{
|
|
||||||
if(getOneIntersectingObject(Marke.class)!=null)
|
|
||||||
{
|
|
||||||
returntrue;
|
|
||||||
}
|
|
||||||
returnfalse;
|
|
||||||
}
|
|
||||||
voidentferneMarke()
|
|
||||||
{
|
|
||||||
if(markeVorhanden())
|
|
||||||
{
|
|
||||||
removeTouching(Marke.class);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
voidnachricht(StringpText)
|
|
||||||
{
|
|
||||||
if(anzeige!=null)
|
|
||||||
{
|
|
||||||
anzeige.anzeigen(pText);
|
|
||||||
Greenfoot.delay(1);
|
|
||||||
anzeige.loeschen();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
voiddisplayAusschalten()
|
|
||||||
{
|
|
||||||
getWorld().removeObject(anzeige);
|
|
||||||
}
|
|
||||||
voidaddedToWorld(Worldworld)
|
|
||||||
{
|
|
||||||
setImage("images/rover.png");
|
|
||||||
world=getWorld();
|
|
||||||
anzeige=newDisplay();
|
|
||||||
anzeige.setImage("images/nachricht.png");
|
|
||||||
world.addObject(anzeige,7,0);
|
|
||||||
if(getY()==0)
|
|
||||||
{
|
|
||||||
setLocation(getX(),1);
|
|
||||||
}
|
|
||||||
anzeige.anzeigen("Ichbinbereit");
|
|
||||||
}
|
|
||||||
classDisplayextendsActor
|
|
||||||
{
|
|
||||||
GreenfootImagebild;
|
|
||||||
Display()
|
|
||||||
{
|
|
||||||
bild=getImage();
|
|
||||||
}
|
|
||||||
voidact()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
voidanzeigen(StringpText)
|
|
||||||
{
|
|
||||||
loeschen();
|
|
||||||
getImage().drawImage(newGreenfootImage(pText,25,Color.BLACK,newColor(0,0,0,0)),10,10);
|
|
||||||
}
|
|
||||||
voidloeschen()
|
|
||||||
{
|
|
||||||
getImage().clear();
|
|
||||||
setImage("images/nachricht.png");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
classDirection{
|
|
||||||
Direction(intval){
|
|
||||||
this.value=val;
|
|
||||||
}
|
|
||||||
intvalue;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user