Quote Originally Posted by MilM View Post
This quote is hidden because you are ignoring this member. Show
Kan met boolean, maar hoeft niet.

Je houdt ergens de waarde bij van waar geklikt werd. Bijvoorbeeld private int r en private int c (van row en column).

In mouseClicked() werk je met drie if/else lussen.
Pak dat x en y de positie van de muis is gedeeld door 80.

if(r == 0 || c == 0)
Indien zo: er is nog geen vakje geklikt, dus r = y en c = x

else if(r == y && c == x)
User klikt op zelfde vakje nog eens -> user wil zijn selectie dus cancellen
doe r == 0 en c ==0

else
Beweeg stuk van r,c naar y,x
zet r en c terug op 0
Dit heb ik een beetje aangepast, wel ongeveer dezelfde redenering gebruikt:

public void mouseClicked(MouseEvent e)
{
int schermX = e.getX();
int schermY = e.getY();

int bordX = view.getKolom(schermX);
int bordY = view.getRij(schermY);

// ofwel is dit de eerste klik
if (gekozenX == -1) {
gekozenX = bordX;
gekozenY = bordY;
// view.selecteer(gekozenX,gekozenY);
}
// ofwel is de tweede klik
else {
// hetzelfde
if (gekozenX == bordX && gekozenY == bordY) {
gekozenX = -1;
gekozenY = -1;
}
else {
// of een nieuwe
level.beweegStuk(gekozenX, gekozenY, bordX, bordY);
gekozenX = -1;
gekozenY = -1;
}
}