@Override
	public void mouseClicked(MouseEvent event) {
		if (frame.getCurrentPlayer().getPlaysLeft() != 0 && !frame.isGameOver()) {
			int row = (int) Math.round(4.0 / 3.0 * (event.getY() - 40.0)
					/ HEX_HEIGHT);
			int col = (int) Math.round((event.getX() - 40 - 0.5 * HEX_WIDTH
					* (5 - row))
					/ HEX_WIDTH);
			Tile t = frame.getSelectedTile();
			Player player = frame.getCurrentPlayer();
			if (t != null) {
				if (frame.play(t, row, col)) {
					frame.setSelectedTile(null);
				}
				if (player.getPlaysLeft() == 0) {
					if (!player.canSwapTiles()) {
						player.refreshHand();
					} else {
						frame.setButtonEnabledness(true);
					}
					frame.setSelectedTile(null);
				}
			}
		}
		frame.repaint();
	}