(int i = 0; i [i][j]);
g.fillRect(i *, j *, cell);
	}
	    }
	} else {
g.set();
g.fill(X, Y, , );
full= true;
	}
    }
(Evt, int x, int y) {

if (resetting) {
return true;
	}
int cellX  = x / cellWidth;
int cellY  = y / cellHeight;
X	   = cellX * cellWidth;
Y	   = cellY * cellHeight;
Color = colors[cellX][cellY].brighter();
full  = false;
// Schedule an update.
currentX  = cellX;
currentY  = cellY;
checkMove = true;
return true;
 }
(Event evt, int x, int y) {
if (resetting || !checkMove) {
return true;
	}
int cellX  = x / cellWidth;
int cellY  = y / cellHeight;
if (cellX == currentX && cellY == currentY) {
return true;
	}
private void testPattern(int x, int y) {
int[] nextMatch = pattern[next++];
if (nextMatch[0] == x && nextMatch[1] == y) {
if (next == patternLength) {
win();
getHarder();
memoryThread.resume();
 }
} else {
lose();
getRealEasy();
memoryThread.resume();
	}
    }
private void win() {
getAudioClip(getCodeBase(),").play();
    }
private void lose() {
getAudioClip(getCodeBase(),").play();
    }
private void getHarder() {
if (sleepTime > minimumDownTime) {
DownTime -= DownTimeDecrement;
	} else {
patternLength++;
DownTime = resetDownTime / 2;
	}
    }
private void getRealEasy() {
sleepTime = resetDownTime / 2;
patternLength = initialPatternLength;
    }
private void reset() {
resetting = true;
checkMove = false;
pulldown  = true;
loopVoid();
next = 0;
pattern = new int[patternLength][2];
for (int i = 0; i < patternLength; i++) {