K
kev003
Gast
guten abend allerseits!
ich habe folgendes problem. ich habe hier die klasse random turtle, in dem die turtle - wie der name ja schon sagt - zufällig "gesteuert" werden. bisher wird nur der winkel nach links und rechts gesteuert, der weg der dabei zurückgelegt wird bleibt immer gleich. nun soll ich es so umschreiben, dass auch der weg zufällig lang ist. das problem ist, das ich den code nur teilweise verstehe. vll. kann mir ja jemand sagen, was der befehl in zeile 13 macht, und was die methode randomturn macht. da taucht neben super auch dice, etc auf. vlt kann mir da ja jemand helfen? vielleicht verstehe ich dann ja auch, was ich ändern muss um die länge des weges auch zufällig steuern zu können. den rest raff ich.....
danke schonmal!
ich habe folgendes problem. ich habe hier die klasse random turtle, in dem die turtle - wie der name ja schon sagt - zufällig "gesteuert" werden. bisher wird nur der winkel nach links und rechts gesteuert, der weg der dabei zurückgelegt wird bleibt immer gleich. nun soll ich es so umschreiben, dass auch der weg zufällig lang ist. das problem ist, das ich den code nur teilweise verstehe. vll. kann mir ja jemand sagen, was der befehl in zeile 13 macht, und was die methode randomturn macht. da taucht neben super auch dice, etc auf. vlt kann mir da ja jemand helfen? vielleicht verstehe ich dann ja auch, was ich ändern muss um die länge des weges auch zufällig steuern zu können. den rest raff ich.....
danke schonmal!
Code:
public class RandomTurtle extends PathTurnTurtle
{
// attention: an own class PathTurnTurtle (an extension of
// class TurnTurtle must exist (see TA 3.1) !!
// instance of class Random
Random dice = new Random();
/** constructor
* @param screen: screen of the turtle
*/
public RandomTurtle(TurtleScreen screen)
{
super(screen);
}
/** distance between turtle and starting point
* @param startx: x coordinate of starting point
* @param starty: y coordinate of starting point
* @return: compute the distance between turtle and
* starting point; return the value
*/
public double distance(int startx, int starty)
{
return Math.sqrt(( getX() - startx ) * ( getX() - startx ) +
( getY() - starty ) * ( getY() - starty ));
}
/** random turtle turn
* @param left: left border of sector for random turns
* @param right: right border of sector for random turns
*/
public void randomturn(double left, double right)
{
double angle = ((right + left) * dice.nextDouble() - left);
super.rt(angle);
}
/** move the turtle forward after a random turn
* @param left: turtle turns to left side random max. degrees
* @param right: turtle turns to right side random max. degrees
* @param length: lenght of turtle step
*/
public void randomstep(double left, double right, double length)
{
randomturn(left, right, length);
fd(length);
}
}