This site requires JavaScript, please enable it in your browser!
Greenfoot back
suzbo
suzbo wrote ...

2018/4/30

I keep getting a runtime error

suzbo suzbo

2018/4/30

#
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class Missile3 here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class PlayerMissile extends Player
{
    int kom= 0;
    /**
     * Act - do whatever the bullet wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public PlayerMissile(int rotation)
    {
        setRotation(rotation);
    }

    public void act() 
    {

        moveMissile();
        if(isTouching(Wall.class))
        {
            turn(5);
            move(5);
        }
        atWorldEdge();

    }

    public void moveMissile()
    {
        if(!atWorldEdge()){
            move(8);
        }
        else{
            getWorld().removeObject(this);
            kom = 1;
        }   
    }
    
    public boolean atWorldEdge()
    {
        if(getX() < 3 || getX() > getWorld().getWidth() - 3)
            return true;
        if(getY() < 3 || getY() > getWorld().getHeight() - 3)
            return true;
        else
            return false;
    }  

}
danpost danpost

2018/4/30

#
PlayerMissile should not extend Player (a missile is not a player). Change the name of the atWorldEdge method (lines 30 and 45 -- not line 36).
suzbo suzbo

2018/4/30

#
I am so sorry - that I did not see this - please excuse wasting your time - thank you for your help.
You need to login to post a reply.