rem: int x, y, done = 0;
add: int x=0, y=0, done = 0;
context: Bool SlideButton(int button){    int x, y, done = 0;        /* locate the button */    for (y = 0; y < Size; y++) {	for (x = 0; x < Size; x++) {	    if (MAP(x,y) == button) {		done = 1;		break;	    }	}	if (done)	    break;    }            if (x > 0 && MAP(x-1, y) < 0) {	MAP(x,y) = -1;	MoveButton(button, x-1, y);	MAP(x-1,y) = button;    } else if (x < Size-1 && MAP(x+1, y) < 0) {	MAP(x,y) = -1;	MoveButton(button, x+1, y);	MAP(x+1,y) = button;    } else if (y > 0 && MAP(x, y-1) < 0) {	MAP(x,y) = -1;	MoveButton(button, x, y-1);	MAP(x,y-1) = button;    } else if (y < Size-1 && MAP(x, y+1) < 0) {	MAP(x,y) = -1;	MoveButton(button, x, y+1);	MAP(x,y+1) = button;    } else {	return False;    }    return True;}