|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjas.space.AbstractTurtle
public abstract class AbstractTurtle
An agent able to move itself upon an object grid. It has got some specific instruction for movement. Each turtle has an heading expressed in degrees. It can make steps, turn right or left, measure the distance from another position on the grid. Each turtle has a color and it is able to draw itself on a grid drawing layer.
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.
Field Summary | |
---|---|
static java.awt.Color |
DEFALUT_COLOR
The turtle's default color. |
static int |
DIR_EAST
|
static int |
DIR_NORTH
|
static int |
DIR_NORTH_EAST
|
static int |
DIR_NORTH_WEST
|
static int |
DIR_SOUTH
|
static int |
DIR_SOUTH_EAST
|
static int |
DIR_SOUTH_WEST
|
static int |
DIR_WEST
|
static int |
MOVE_BOUND
Turtle moves on a bounded grid. |
static int |
MOVE_REFLECT
Turtle moves on a walled grid. |
static int |
MOVE_TORUS
Turtle moves on a toroidal grid. |
Constructor Summary | |
---|---|
AbstractTurtle(int id,
IObjGrid grid)
Create a turtle with a given identifier on the given grid at position (0,0). |
|
AbstractTurtle(int id,
IObjGrid grid,
int x,
int y)
Create a turtle with a given identifier on the given grid at the given position. |
|
AbstractTurtle(int id,
IObjGrid grid,
int x,
int y,
java.awt.Color color)
Create a turtle with a given identifier on the given grid at the given position. |
Method Summary | |
---|---|
void |
forward()
Make a step forward, according the current heading. |
abstract void |
forward(int steps)
Make some steps forward, according the current heading. |
java.awt.Color |
getColor()
Return the current turtle's color. |
double |
getDistanceFrom(int xCor,
int yCor)
Compute the cartesian distance from its position to the given position. |
abstract int |
getHeading()
Return the current heading of the turtle. |
int |
getID()
Return the identifier of the turtle. |
int |
getMovingType()
Return the behaviour of the turtle when it goes out of bounds of the grid. |
int |
getNextX()
Return the new x coordinate walking the current heading direction for 1 step. |
abstract int |
getNextX(int steps)
Return the new x coordinate walking the current heading direction for given steps. |
int |
getNextY()
Return the new y coordinate walking the current heading direction for 1 step. |
abstract int |
getNextY(int steps)
Return the new y coordinate walking the current heading direction for given steps. |
int |
getWorldHeight()
Return the y size of the grid. |
int |
getWorldWidth()
Return the x size of the grid. |
int |
getX()
Return the current x position. |
int |
getY()
Return the current y position. |
boolean |
leap()
Make a steps forward, but moves only if the target position is empty. |
abstract boolean |
leap(int steps)
Make some steps forward, but moves only if the target position is empty. |
abstract void |
setCardinalHeading(int directionType)
Set the turtle's heading using a constant for cardinal points. |
void |
setColor(java.awt.Color color)
Change turtle's color. |
abstract void |
setHeading(int heading)
Set the current heading. |
boolean |
setIfEmptyXY(int x,
int y)
Set a new position, only if new position is empty. |
void |
setMovingType(int movingType)
Set the behaviour of the turtle when it goes out of bounds of the grid. |
abstract void |
setRandomHeading()
Randomize the turtle's heading. |
void |
setX(int x)
Set a new x position. |
void |
setXY(int x,
int y)
Set a new position. |
void |
setY(int y)
Set a new y position. |
abstract void |
turnCardinalLeft(int steps)
|
abstract void |
turnCardinalRight(int steps)
|
abstract void |
turnLeft(int degrees)
Change the current heading rotating it to the left. |
abstract void |
turnRight(int degrees)
Change the current heading rotating it to the right. |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final java.awt.Color DEFALUT_COLOR
public static final int DIR_EAST
public static final int DIR_NORTH
public static final int DIR_NORTH_EAST
public static final int DIR_NORTH_WEST
public static final int DIR_SOUTH
public static final int DIR_SOUTH_EAST
public static final int DIR_SOUTH_WEST
public static final int DIR_WEST
public static final int MOVE_BOUND
public static final int MOVE_REFLECT
public static final int MOVE_TORUS
Constructor Detail |
---|
public AbstractTurtle(int id, IObjGrid grid)
id
- The identifier for turtle.grid
- The grid upon the turtle moves.public AbstractTurtle(int id, IObjGrid grid, int x, int y)
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.public AbstractTurtle(int id, IObjGrid grid, int x, int y, java.awt.Color color)
id
- The identifier for turtle.x
- The initial x coordinate of the turtle.y
- The initial y coordinate of the turtle.color
- The initial color of the turtle.grid
- The grid upon the turtle moves.Method Detail |
---|
public void forward()
public abstract void forward(int steps)
steps
- The number of steps the turtle has to make.public java.awt.Color getColor()
getColor
in interface IColored
public double getDistanceFrom(int xCor, int yCor)
xCor
- The target x coordinate.yCor
- The target y coordinate.
public abstract int getHeading()
public int getID()
public int getMovingType()
public int getNextX()
public abstract int getNextX(int steps)
steps
- The number of steps to move forward.
public int getNextY()
public abstract int getNextY(int steps)
steps
- The number of steps to move forward.
public int getWorldHeight()
public int getWorldWidth()
public int getX()
getX
in interface IGridPosition
public int getY()
getY
in interface IGridPosition
public boolean leap()
public abstract boolean leap(int steps)
steps
- The number of steps the turtle has to make.
public abstract void setCardinalHeading(int directionType)
directionType
- One of DIR_NORTH, DIR_NORTH_EAST, ... constant.public void setColor(java.awt.Color color)
color
- The new color.public abstract void setHeading(int heading)
heading
- The new heading.public boolean setIfEmptyXY(int x, int y)
x
- The new x coordinate.y
- The new y coordinate.
public void setMovingType(int movingType)
movingType
- A moving type identifier.public abstract void setRandomHeading()
public void setX(int x)
setX
in interface IGridPosition
x
- The new x coordinate.public void setXY(int x, int y)
x
- The new x coordinate.y
- The new y coordinate.public void setY(int y)
setY
in interface IGridPosition
y
- The new y coordinate.public abstract void turnCardinalLeft(int steps)
public abstract void turnCardinalRight(int steps)
public abstract void turnLeft(int degrees)
degrees
- The number of degrees to rotate the heading.public abstract void turnRight(int degrees)
degrees
- The number of degrees to rotate the heading.
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |