i put void counter() in act but error
this is code boss.class
so, where i must put counter();?? can help me??
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.lang.Math;
import java.awt.Color;
/**
*
*/
public class boss2 extends musuh
{
////////////////////////////////////
boolean bDefeated = false;
static int totalparts = 30;
boss2part[] parts = new boss2part[totalparts];
boolean bPartsbeenset = false;
int goalx;
int goaly;
boolean bGoalset = false;
int bosshealth = 7;
float parthurt = -1;
//accelration
float xa=0;
float ya=0;
//////////
static GreenfootImage iCacingHeadNormal = new GreenfootImage("xx.gif");
static GreenfootImage iCacingHeadHurt = new GreenfootImage("xx.gif");
static GreenfootImage iCacingPartNormal = new GreenfootImage("xx.gif");
static GreenfootImage iCacingPartHurt = new GreenfootImage("xx.gif");
public boss2()
{
bCanBeAttackedFromBelow = false;
bKillOnFall = false;
usualstun = 40;
health = 7;
maxrun = 3;
}//constructor
protected void addedToWorld(World world)
{
x = getX();
y = getY();
}//added
////////////////////////////////////
public void act()
{
myWorld mworld = (myWorld) getWorld();
if(!mworld.isPaused)
{
if (bRemoved) {return;}
setparts();
partsanim();
if (!bDefeated) {
setgoal();
if (stunned <= 0) {followgoal();}
if (dmgdelay <= 0) {setImage(iCacingHeadNormal);}
move();
partsfollow();
hasreachedgoal();
}
else
{
gravity();
movement();
}//endif
delays();
limits();
setLocation((int) x, (int) y);
if (bosshealth <= 0 && !bDefeated)
{
bDefeated = true;
bMeleeAttack = false;
bCanBeAttackedAtAll = false;
bKillOnFall = true;
partsfall();
getWorld().addObject(new kunci(), 320, 240);
}//defeat
if (health < 0) { removeme();}
counter();
}
}//act
/////////////////
public void removeme()
{
bRemoved = true;
for (int i = 0; i < totalparts;i++)
{
getWorld().addObject(new efek(), parts[i].getX(),parts[i].getY());
getWorld().removeObject(parts[i]);
}//next i
getWorld().addObject(new efek(),getX(),getY());
getWorld().removeObject(this);
}//killthis
//////////
public void damageStun(int dmg)
{
if (dmgdelay <= 0) {
// ys = 3;
// dmgdelay = 10;
stunned = usualstun;
}
}//damstunoverload
/////////////////////////////////////////////
private void move()
{
if (stunned <= 0) {
xs += xa;
if (xs> maxrun) {xs = maxrun;}
if (xs<-maxrun) {xs = -maxrun;}
ys += ya;
if (ys > maxrun) {ys = maxrun;}
if (ys < -maxrun) {ys = -maxrun;}
} else {
if (ys < 6) {ys+= 0.4;}
}
if (y > 440 && ys > 0 && dmgdelay <=0)
{
ys = -16;
stunned = 40;
dmgdelay = 50;
Greenfoot.playSound("kick.wav");
setImage(iCacingHeadHurt);
health = 7;
bosshealth--;
parthurt = 0;
}
x += xs;
y += ys;
}//move
private void followgoal()
{
int x = goalx - getX();
int y = goaly - getY();
float length =(float) Math.sqrt((x*x)+(y*y));
xa = x / length;
ya = y / length;
}//
private void hasreachedgoal()
{
if (getX() > goalx+12 || getX() < goalx-12) {return;}
if (getY() > goaly+12 || getY() < goaly-12) {return;}
bGoalset = false;
}//reachedgoal
private void setgoal()
{
if (bGoalset) {return;}
bGoalset = true;
goalx = goalx + Greenfoot.getRandomNumber(380)+130;
if (goalx > 600) {goalx = 70;}
goaly = Greenfoot.getRandomNumber(200)+110;
}//setgoal
private void partsanim()
{
if (parthurt < 0) {return;}
parthurt++;
if (parthurt > 20) {
for (int i = 0; i < totalparts;i++)
{
parts[i].setImage(iCacingPartNormal);
}//nexti
parthurt = -1;}
else{
for (int i = 0; i < totalparts;i++)
{
if (Greenfoot.getRandomNumber(8) == 1) {
parts[i].setImage(iCacingPartNormal);
}else
{
parts[i].setImage(iCacingPartHurt);}//endif
}//nexti
}//else
}//partsanim
private void partsfall()
{
for (int i = 0; i < totalparts;i++)
{
// parts[i].setLocation(parts[i].getX()+parts[i].cX,getY());
parts[i].bActive = false; //minor bugfix -- turn off being elevator after boss2 defeated
parts[i].bUnconnected = true;
parts[i].ys = (Greenfoot.getRandomNumber(10)+4)*-1;
parts[i].xs = Greenfoot.getRandomNumber(10)-Greenfoot.getRandomNumber(10);
}//next i
}//void
private void partsfollow()
{
int x = 10;
int y = 10;
x =(int) (parts[0].getX()+ (getX() - parts[0].getX())*0.2f);
y =(int) (parts[0].getY()+ (getY() - parts[0].getY())*0.2f);
y++;
// parts[0].setpx();
// parts[0].setLocation(x,y);
// parts[0].setcx();
parts[0].place(x,y);
for (int i = 1; i < totalparts;i++)
{
x =(int) (parts[i].getX()+ (parts[i-1].getX() - parts[i].getX())*0.2f);
y =(int) (parts[i].getY()+ (parts[i-1].getY() - parts[i].getY())*0.2f);
y++;
// parts[i].setLocation(x,y);
parts[i].place(x,y);
}//next i
}//endofvoid
private void setparts()
{
if (bPartsbeenset) {return;}
bPartsbeenset = true;
myWorld mg = (myWorld) getWorld();
//int tive = 0;
for (int i = 0; i<totalparts;i++)
{
parts[i] = new boss2part();
mg.addObject(parts[i],getX(),getY());
// parts[i].bActive = false;
// tive++;
// if (tive >2) {tive =0; parts[i].bActive = true;}
// parts[i].setImage(boss2part_image);
}//next i
}//setparts public void counter()
{
if(bosshealth==7 && mworld.getObjects(life7.class).isEmpty())
{
mworld.addObject(new life7(), 583, 18);
mworld.removeObjects(mworld.getObjects(life0.class));
}
if(bosshealth==6 && mworld.getObjects(life6.class).isEmpty())
{
mworld.addObject(new life6(), 583, 18);
mworld.removeObjects(mworld.getObjects(life7.class));
}
if(bosshealth==5 && mworld.getObjects(life5.class).isEmpty())
{
mworld.addObject(new life5(), 583, 18);
mworld.removeObjects(mworld.getObjects(life6.class));
}
if(bosshealth==4 && mworld.getObjects(life4.class).isEmpty())
{
mworld.addObject(new life4(), 583, 18);
mworld.removeObjects(mworld.getObjects(life5.class));
}
if(bosshealth==3 && mworld.getObjects(life3.class).isEmpty())
{
mworld.addObject(new life3(), 583, 18);
mworld.removeObjects(mworld.getObjects(life4.class));
}
if(bosshealth==2 && mworld.getObjects(life2.class).isEmpty())
{
mworld.addObject(new life2(), 583, 18);
mworld.removeObjects(mworld.getObjects(life3.class));
}
if(bosshealth==1 && mworld.getObjects(life1.class).isEmpty())
{
mworld.addObject(new life1(), 583, 18);
mworld.removeObjects(mworld.getObjects(life2.class));
}
if(bosshealth==0 && mworld.getObjects(life0.class).isEmpty())
{
mworld.addObject(new life0(), 583, 18);
mworld.removeObjects(mworld.getObjects(life1.class));
}
}

