Revision: 39604
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 19, 2011 02:19 by joswald
Initial Code
import greenfoot.*; // (Actor, World, Greenfoot, GreenfootImage)
public class CrabWorld extends World
{
private static final int STARTING_X = 150;
private static final int STARTING_Y = 100;
private static final int NUMBER_OF_WORMS = 5;
private static final int NUMBER_OF_LOBSTERS = 3;
private static final int WORLD_X = 800;
private static final int WORLD_Y = 800;
/**
* Create the default crab world (the beach). Our world has a size
* of 800x800 cells, where every cell is just 1 pixel, five worms
* and three lobsters
*/
public CrabWorld()
{
super(WORLD_X, WORLD_Y, 1);
populate( STARTING_X, STARTING_Y, NUMBER_OF_WORMS, NUMBER_OF_LOBSTERS );
}
/**
* Fully parameterized version of the CrabWorld constructor.
* Specify the width and height of the world, the starting location of the crab,
* and the number of worms and lobsters.
*
* @param width the width of the world in cells (pixels, effectively)
* @param height the height of the world in cells (pixels, effectively)
* @param startX the starting x-coordinate of the crab
* @param startY the starting y-coordinate of the crab
* @param numberOfWorms the starting number of worms
* @param numberOfLobsters the starting number of lobsters
*/
public CrabWorld( int width, int height, int startX, int startY, int numberOfWorms, int numberOfLobsters )
{
super( width, height, 1 );
populate( startX, startY, numberOfWorms, numberOfLobsters);
}
/**
* Partially paramterized version of the CrabWorld constructor.
* Specify the number of worms and lobsters only.
*
* @param numberOfWorms the starting number of worms
* @param numberOfLobsters the starting number of lobsters
*/
public CrabWorld( int numberOfWorms, int numberOfLobsters )
{
super(WORLD_X, WORLD_Y, 1);
populate( STARTING_X, STARTING_Y, numberOfWorms, numberOfLobsters);
}
private void populate( int startX, int startY, int worms, int lobsters )
{
addObject( new Crab(), startX, startY );
for( int i = 0; i < worms; i++ )
{
addObject( new Worm(), Greenfoot.getRandomNumber( getWidth() ), Greenfoot.getRandomNumber( getHeight() ) );
}
for( int i = 0; i < NUMBER_OF_LOBSTERS; i++ )
{
addObject( new Lobster(), Greenfoot.getRandomNumber( getWidth() ), Greenfoot.getRandomNumber( getHeight() ) );
}
}
}
Initial URL
Initial Description
A much better implementation of the parameterized and randomized CrabWorld
Initial Title
CrabWorld with Parameterized and Random Object Placement
Initial Tags
java
Initial Language
Java