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

2019/11/4

I need help with my code

jjc289 jjc289

2019/11/4

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

/**
 * Write a description of class Mover here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class Mover extends Actor
{
    private static final int acceleration = 2;
    private static final int speed = 10;
    private int vSpeed = 0;
    private int jumpStrength= -15;
    public void moveRight()
    {
      setLocation ( getX() - speed, getY() );
    }
    public void moveLeft()
    {
      setLocation ( getX() + speed, getY() ); 
    }
    public void setVSpeed(int speed)
    {
     vSpeed = speed;   
    }
    public void fall()
    {
        setLocation(getX(), getY() +vSpeed);
        vSpeed=vSpeed+acceleration;
        
    }
    public boolean onGround()
    {
      Actor under = getOneObjectAtOffset(0,getImage()
      .getHeight()/2-8,Start.class);
      return under !=null;
    }
    public boolean onGround2()
    {
      Actor under = getOneObjectAtOffset(0,getImage()
      .getHeight()/2-8, safezone.class);
      return under !=null;
    }
    public boolean onGround3()
    {
      Actor under = getOneObjectAtOffset(0,getImage()
      .getHeight()/2-8, safezone.class);
      return under !=null;
    }
    public boolean onGround4()
    {
      Actor under = getOneObjectAtOffset(0,getImage()
      .getHeight()/2-8, safezone.class);
      return under !=null;
    }
    public boolean onGround5()
    {
      Actor under = getOneObjectAtOffset(0,getImage()
      .getHeight()/2-8, safezone.class);
      return under !=null;
    }
    public boolean onGround6()
    {
      Actor under = getOneObjectAtOffset
      (0,getImage().getHeight()/2-8, finishblock.class);
      return under !=null;
    }
     public void checkFall()
    {
        if (onGround()||onGround2()||onGround3()||onGround4()
        ||onGround5()||onGround6()) {
        vSpeed=0;
        setLocation (getX(),530);
        }
        else{
        fall();
        }
    }
     public void jump()
    {
        vSpeed=(-jumpStrength);
        fall(); 
    }
}
this above is my mover class
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class player here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class player extends Mover
{ 
    private int vSpeed = 0;
    private int acceleration= 2;
    /**
     * Act - do whatever the player wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    public void act() 
    {
       checkKeys();
       checkFall();
       gameOver();
       checkFire();
       win();
       onGround();
    }    
    private void checkKeys()
    {
        if (Greenfoot.isKeyDown("right"))
        {
           moveLeft(); 
        }
        if (Greenfoot.isKeyDown("left"))
        {
           move(-5); 
        }
        if (Greenfoot.isKeyDown("space") && onGround())
        {
            if (onGround())
            {
            jump();  
            }
        }
    }
    public void gameOver()
    {
       if ( isTouching(Blackline.class) )
       {
           setLocation(44, 580);
       }
    }
    public void checkFire()
    {
       if ( isTouching(fire.class) )
       {
          setLocation(44, 580);
       }
    }
  
   
    public void win()
    {
       if (isTouching(Finish.class))
       {
           setLocation(44, 584);
           Greenfoot.playSound("au.wav");
           Greenfoot.stop();
       }
    }
    public boolean canSee(Class clss)
    {
        Actor actor = getOneObjectAtOffset(0, 0, clss);
        return actor != null;     
    }
}
danpost danpost

2019/11/4

#
In the player class, remove lines 11 and 12. These are already declared for the player in the Mover class. Also, in the player class, remove line 24. All it does is return a boolean value that is not being used or held for use later. You can also remove lines 69 thru 73 from the player class. That method is never called (the Actor class method isTouching does the same job).
jjc289 jjc289

2019/11/5

#
I will post my game so you can see what my problem is.
jjc289 jjc289

2019/11/5

#
nevermind. It is figured out.
You need to login to post a reply.