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();
}
}
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;
}
}
