So I'm making a crude version of minesweeper and I'm working on the part where you flag the tiles. I'm trying to make it so tiles need to be shift-clicked to be flagged. When I try to shift click the tiles, nothing happens. The flag counter doesn't even go up. This is my code in the tile class:
I don't think its dealing with the clicks properly because when I inspect a tile I've clicked on, it says "boolean isFlagged: false"
The flagger's flag() and unflag() just add and subtract 1 from a displayed int.
Help is greatly appreciated.
public class Tile extends Actor
{
GreenfootImage sand = new GreenfootImage("sand.jpg");
GreenfootImage flagged = new GreenfootImage("flagged.png");
boolean isFlagged = false;
public void act()
{
Game game = (Game)getWorld();
FlagCounter flagger = game.getFlagger();
if (Greenfoot.mouseClicked(this) && Greenfoot.isKeyDown("shift")) {
if (!isFlagged) {
isFlagged = true;
setImage(flagged);
flagger.flag();
} else if (isFlagged) {
isFlagged = false;
setImage(sand);
flagger.unflag();
}
}
}
}


