Reworked Interpreter WIP
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
//except for this line, this is what interpret_source.load_src returns
|
||||
importgreenfoot.*;//(World,Actor,GreenfootImage,GreenfootandMouseInfo)
|
||||
classRoverextendsActor
|
||||
{
|
||||
Displayanzeige;
|
||||
/**
|
||||
*thisfunctionistobeimplementedbytheuser
|
||||
*dependingontheneededactions
|
||||
*/
|
||||
voidact()
|
||||
{
|
||||
S66Nr3(7);
|
||||
@@ -81,6 +84,11 @@ fahreZeileDreheRunter(true);
|
||||
}
|
||||
fahreZeileDreheRunter(false);
|
||||
}
|
||||
/**
|
||||
*DerRoverbewegtsicheinFeldinFahrtrichtungweiter.
|
||||
*SolltesichinFahrtrichtungeinObjektderKlasseHuegelbefindenoderersichanderGrenzederWeltbefinden,
|
||||
*dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
||||
*/
|
||||
voidfahre()
|
||||
{
|
||||
intposX=getX();
|
||||
@@ -103,6 +111,10 @@ 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")){
|
||||
@@ -115,6 +127,10 @@ setRotation(getRotation()+180);
|
||||
nachricht("KeinenKorrekteRichtunggegeben!");
|
||||
}
|
||||
}
|
||||
/**
|
||||
*DerRovergibtdurcheinenWahrheitswert(trueoderfalse)zurᅵck,obsichaufseinerPositioneinObjektderKlasseGesteinbefindet.
|
||||
*EineentsprechendeMeldungerscheintauchaufdemDisplay.
|
||||
*/
|
||||
booleangesteinVorhanden()
|
||||
{
|
||||
if(getOneIntersectingObject(Gestein.class)!=null)
|
||||
@@ -124,6 +140,11 @@ 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();
|
||||
@@ -161,6 +182,10 @@ nachricht("Befehlnichtkorrekt!");
|
||||
}
|
||||
returnfalse;
|
||||
}
|
||||
/**
|
||||
*DerRoverermitteltdenWassergehaltdesGesteinsaufseinerPositionundgibtdiesenaufdemDisplayaus.
|
||||
*SolltekeinObjektderKlasseGesteinvorhandensein,dannerscheinteineentsprechendeMeldungaufdemDisplay.
|
||||
*/
|
||||
voidanalysiereGestein()
|
||||
{
|
||||
if(gesteinVorhanden())
|
||||
@@ -174,10 +199,17 @@ else
|
||||
nachricht("HieristkeinGestein");
|
||||
}
|
||||
}
|
||||
/**
|
||||
*DerRovererzeugteinObjektderKlasseᅵMarkierungᅵaufseinerPosition.
|
||||
*/
|
||||
voidsetzeMarke()
|
||||
{
|
||||
getWorld().addObject(newMarke(),getX(),getY());
|
||||
}
|
||||
/**
|
||||
**DerRovergibtdurcheinenWahrheitswert(trueoderfalse)zurᅵck,obsichaufseinerPositioneinObjektderMarkebefindet.
|
||||
*EineentsprechendeMeldungerscheintauchaufdemDisplay.
|
||||
*/
|
||||
booleanmarkeVorhanden()
|
||||
{
|
||||
if(getOneIntersectingObject(Marke.class)!=null)
|
||||
@@ -206,7 +238,7 @@ voiddisplayAusschalten()
|
||||
{
|
||||
getWorld().removeObject(anzeige);
|
||||
}
|
||||
protectedvoidaddedToWorld(Worldworld)
|
||||
voidaddedToWorld(Worldworld)
|
||||
{
|
||||
setImage("images/rover.png");
|
||||
world=getWorld();
|
||||
|
||||
Reference in New Issue
Block a user