/ Published in: Java
I had a subtle mistake in my code that was causing the exception. The corrected source code is below:
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) /** * This class defines a crab. Crabs live on the beach. */ public class Crab extends Animal { private final int MAX_TURN_DEGREES = 25; private final int ANIMATION_FRAMES = 2; private int animationCounter = 0; private GreenfootImage[] images; public Crab() { images = new GreenfootImage[ANIMATION_FRAMES]; for( int i = 1; i <= ANIMATION_FRAMES; i++ ) { images[i-1] = new GreenfootImage( "crab" + i + ".png" ); } setImage( images[animationCounter] ); animationCounter++; } public void animate() { animationCounter = animationCounter % ANIMATION_FRAMES; setImage( images[animationCounter] ); animationCounter++; } public void turnAtEdge() { if( atWorldEdge() ) { turn(17); } } public void randomTurn() { if( Greenfoot.getRandomNumber(100) < 15 ) { int directionToTurn = Greenfoot.getRandomNumber(3) - 1; // left, right, or no turn turn( directionToTurn * Greenfoot.getRandomNumber(MAX_TURN_DEGREES) ); } } public void lookForWorm() { if( canSee( Worm.class ) ) { eat( Worm.class ); Greenfoot.playSound("slurp.wav"); } } public void checkKeyPress() { if( Greenfoot.isKeyDown( "left" ) ) { turn( -4 ); } if( Greenfoot.isKeyDown( "right" ) ) { turn( 4 ); } } public void act() { checkKeyPress(); move(); animate(); lookForWorm(); } }