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 jumpStrength= 30; private static final 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(); gameOver(); checkFire(); checkFall(); win(); } private void checkKeys() { if (Greenfoot.isKeyDown("right")) { moveLeft(); } if (Greenfoot.isKeyDown("left")) { move(-5); } if (Greenfoot.isKeyDown("space") && onGround()) { jump(); } } public void setVSpeed(int speed) { vSpeed = speed; } public void fall() { setLocation(getX(), getY() +vSpeed); vSpeed=vSpeed+acceleration; } public void gameOver() { if ( isTouching(Blackline.class) ) { setLocation(44, 580); } } public void checkFire() { if ( isTouching(fire.class) ) { Greenfoot.playSound("au.wav"); } } public void jump() { setVSpeed(-jumpStrength); fall(); } public void checkFall() { if (onGround()) { fall(); } } public void win() { if (isTouching(Finish.class)) { setLocation(44, 584); Greenfoot.playSound("fanfare.wav"); Greenfoot.stop(); } }
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 int vSpeed = 0; private static final int speed = 10; public void moveRight() { setLocation ( getX() - speed, getY() ); } public void moveLeft() { setLocation ( getX() + speed, getY() ); } public boolean onGround() { Object under = getOneObjectAtOffset(0,getImage() .getHeight()/2-8,Start.class); return under !=null; } public boolean onGround2() { Object under = getOneObjectAtOffset(0,getImage() .getHeight()/2-8, safezone.class); return under !=null; } public boolean onGround3() { Object under = getOneObjectAtOffset(0,getImage() .getHeight()/2-8, safezone.class); return under !=null; } public boolean onGround4() { Object under = getOneObjectAtOffset(0,getImage() .getHeight()/2-8, safezone.class); return under !=null; } public boolean onGround5() { Object under = getOneObjectAtOffset(0,getImage() .getHeight()/2-8, safezone.class); return under !=null; } public boolean onGround6() { Object under = getOneObjectAtOffset (0,getImage().getHeight()/2-8, finishblock.class); return under !=null; } }