i want to move a peice after selected it , then clicking on the position i want it to move,
i am first checking if the path is empty or not
but as soon as i click on it the variable(selected) changes from false to true , but changes back again within that 1 click , what do i do ?
import greenfoot.*;
import java.util.List;// (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
/**
* Write a description of class brook here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class brook extends black
{
/**
* Act - do whatever the brook wants to do. This method is called whenever
* the 'Act' or 'Run' button gets pressed in the environment.
*/
boolean selected = false;
MouseInfo mouse;
int mousex;
int mousey;
boolean test1=false;
boolean test2=false;
boolean test3=false;
boolean test4=false;
public void act()
{
if(((board)getWorld()).blackturn)
{
if(Greenfoot.mousePressed(this))
{
if(!selected)
selected = true;
else
selected = false;
test3=true;
}
if(selected)
{
if(Greenfoot.mouseClicked(null))
{
MouseInfo mouse = Greenfoot.getMouseInfo();
if(mouse!=null)
{
mousex = mouse.getX();
mousey = mouse.getY();
move();
test4=true;
}
}
}
}
}
public void move()
{ boolean clear=true;
if(mousex>getX() && mousey==getY())
{
for(int i=getX()+1;i<mousex;i++)
{
if(checkblack(i, 0) || checkwhite(i, 0))
{
clear=false;
test1=true;
}
}
}
else
{
selected=false;
test2=true;
}
if(clear && selected)
{
setLocation(mousex, mousey);
selected=false;
if(checkwhite(0,0))
{
killWhite();
}
((board)getWorld()).changeTurn();
}
}
public boolean checkblack(int x,int y)
{
Actor ab = getOneObjectAtOffset(x, y, black.class);
if(ab!=null)
return true;
else
return false;
}
public boolean checkwhite(int x,int y)
{
Actor ab = getOneObjectAtOffset(x, y, white.class);
if(ab!=null)
return true;
else
return false;
}
public void killWhite()
{
List ab = getWorld().getObjectsAt(getX(), getY(), white.class);
getWorld().removeObjects(ab);
}
}


