Class DigitalTurtle

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<SpacePosition>

    @MappedSuperclass
    public class DigitalTurtle
    extends AbstractTurtle
    TO DO Documentation.

    Title: JAS

    Description: Java Agent-based Simulation library

    Copyright (C) 2002 Michele Sonnessa

    This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
    Author:
    Michele Sonnessa

    See Also:
    Serialized Form
    • Constructor Detail

      • DigitalTurtle

        public DigitalTurtle()
        Create a turtle with a given identifier on the given grid at position (0,0).
        Parameters:
        id - The identifier for turtle.
        grid - The grid upon the turtle moves.
      • DigitalTurtle

        public DigitalTurtle​(ObjectSpace grid)
        Create a turtle with a given identifier on the given grid at position (0,0).
        Parameters:
        id - The identifier for turtle.
        grid - The grid upon the turtle moves.
      • DigitalTurtle

        public DigitalTurtle​(ObjectSpace grid,
                             int x,
                             int y)
        Create a turtle with a given identifier on the given grid at the given position.
        Parameters:
        id - The identifier for turtle.
        x - The initial x coordinate of the turtle.
        y - The initial y coordinate of the turtle.
        grid - The grid upon the turtle moves.
    • Method Detail

      • turnLeft

        public void turnLeft​(int degrees)
        Description copied from class: AbstractTurtle
        Change the current heading rotating it to the left.
        Specified by:
        turnLeft in class AbstractTurtle
        Parameters:
        degrees - The number of degrees to rotate the heading.
      • setRandomHeading

        public void setRandomHeading()
        Description copied from class: AbstractTurtle
        Randomize the turtle's heading. It gets a random number from 0 to 359 degrees. The random generator is synchronized with JAS randomizer.
        Specified by:
        setRandomHeading in class AbstractTurtle
      • getHeading

        public int getHeading()
        Description copied from class: AbstractTurtle
        Return the current heading of the turtle.
        Specified by:
        getHeading in class AbstractTurtle
        Returns:
        The current heading.
      • forward

        public void forward​(int steps)
        Description copied from class: AbstractTurtle
        Make some steps forward, according the current heading.
        Specified by:
        forward in class AbstractTurtle
        Parameters:
        steps - The number of steps the turtle has to make.
      • leap

        public boolean leap​(int steps)
        Description copied from class: AbstractTurtle
        Make some steps forward, but moves only if the target position is empty.
        Specified by:
        leap in class AbstractTurtle
        Parameters:
        steps - The number of steps the turtle has to make.
        Returns:
        True only if the turtle has moved.
      • turnRight

        public void turnRight​(int degrees)
        Description copied from class: AbstractTurtle
        Change the current heading rotating it to the right.
        Specified by:
        turnRight in class AbstractTurtle
        Parameters:
        degrees - The number of degrees to rotate the heading.
      • getNextX

        public int getNextX​(int steps)
        Description copied from class: AbstractTurtle
        Return the new x coordinate walking the current heading direction for given steps. It uses the grid bound checking methods according to the turtle's current moving type.
        Specified by:
        getNextX in class AbstractTurtle
        Parameters:
        steps - The number of steps to move forward.
        Returns:
        The candidate x coordinate.
      • setHeading

        public void setHeading​(int heading)
        Description copied from class: AbstractTurtle
        Set the current heading.
        Specified by:
        setHeading in class AbstractTurtle
        Parameters:
        heading - The new heading.
      • getNextY

        public int getNextY​(int steps)
        Description copied from class: AbstractTurtle
        Return the new y coordinate walking the current heading direction for given steps. It uses the grid bound checking methods according to the turtle's current moving type.
        Specified by:
        getNextY in class AbstractTurtle
        Parameters:
        steps - The number of steps to move forward.
        Returns:
        The candidate y coordinate.