import greenfoot.*;
public class bowman extends Actor
{
private int vspeed =5;
private int accelaration =1;
public bowman(){
GreenfootImage myImage = getImage();
int myNewHeight = (int)myImage.getHeight()/4;
int myNewWidth = (int)myImage.getWidth()/4;
myImage.scale(myNewWidth, myNewHeight);
}
int cooldown = 0;
public void act()
{
checkFall();
if (Greenfoot.isKeyDown("a"))
{
move(-4 );
}
if ( Greenfoot.isKeyDown("d"))
{
move(4);
}
if ( Greenfoot.isKeyDown("e"))
{
down();
}
if ( Greenfoot.isKeyDown("w")&& (cooldown == 0))
{
jump();
cooldown = 39;
}
checkFire();
if(cooldown > 0) {
cooldown -= 1;
}
}
public void down(){
vspeed = 5;
}
public void jump(){
vspeed = -17;
}
public void checkFall(){
if (onGround()){
vspeed = 0;
}
else{fall();}
}
public boolean onGround(){
Actor under = getOneObjectAtOffset(0, getY()/2, Ground.class);
return under != null;
}
public void fall(){
setLocation (getX(), getY() +vspeed);
vspeed = vspeed + accelaration;
}
public void checkFire()
{
if(Greenfoot.isKeyDown("s") && (cooldown == 0)) {
getWorld().addObject (new arrowright (), getX()+0, getY()-2);
cooldown = 20;
}}}
