2017-02-23 7 views
-5
import greenfoot.*; // (World, Actor, GreenfootImage, and Greenfoot) 

/** 
* This class defines a crab. Crabs live on the beach. They like sand worms 
* (very yummy, especially the green ones). 
* 
* Version: 4 
* 
* The crab is keyboard controlled and eats worms. In this version, we have added 
* a sound when the crab eats a worm. 
*/ 

public class Crab extends Actor 
{ 

    private GreenfootImage image1; 
    private GreenfootImage image2; 
    private int age; 

    /** 
    * Create a crab and initialize its two images. 
    */ 
    public Crab() 
    { 
     image1 = new GreenfootImage("crab.png"); 
     image2 = new GreenfootImage("crab2.png"); 
     setImage(image1); 
    } 
    /** 
    * Act - do whatever the crab wants to do. This method is called whenever 
    * the 'Act' or 'Run' button gets pressed in the environment. 
    */ 
    public void act() 
    { 
     boolean isAlive; 
     int n; 
     checkKeypress(); 
     move(5); 
     lookForWorm(); 
     if (getImage() == image1) 
     {setImage(image2); 
     } 
     else 
     { 
      setImage(image1); 
     } 

    } 

    /** 
    * Check whether a control key on the keyboard has been pressed. 
    * If it has, react accordingly. 
    */ 
    public void checkKeypress() 
    { 
     if (Greenfoot.isKeyDown("up")) 
     { 
      setLocation(getX(), getY()-4); 
     } 
     if (Greenfoot.isKeyDown("down")) 
     { 
      setLocation(getX(), getY()+4); 
     } 
    } 

    /** 
    * Check whether we have stumbled upon a worm. 
    * If we have, eat it. If not, do nothing. 
    */ 
    public void lookForWorm() 
    { 
     if (isTouching(Worm.class)) 
     { 
      removeTouching(Worm.class); 
      Greenfoot.playSound("slurp.wav"); 

      wormsEaten = wormsEaten + 1; 
      if (wormsEaten == 8) 
      { 
       Greenfoot.playSound("fanfare.wav"); 
       Greenfoot.stop(); 
      } 
     } 
    } 
+2

Разбор ЧТО? возможно, «slurp.wav: и« fanfare.wav »либо не найдены, либо недействительны. – John3136

+0

Потому что вам не хватает'} 'в конце' class'? – Pang

ответ

1

Этой компилятор ошибки (важно, чтобы указать, что это не выполнение ошибки) почти всегда означает, что вы пропустили закрывающую фигурную скобку где-то - в этом случае вам кажется, что вам не хватает скобки, чтобы закрыть класс (внизу источника.)

Если вы хотите более дружественную транскрипцию ошибки, вы можете думать об этом как о компиляторе говоря: «Я дошел до конца файла, прежде чем все блоки области были закрыты».