@Override
	public boolean moveRight() {
		int s = maze[mouse[0]][mouse[1]+1];
		if(s != -1 ){
			
			// 	save the last board b4 change it
			// keep it general so we can use it if we will use moving walls
			int [][] lastPosition = new int[rows][columns];
			for(int i=0;i<rows;i++){
				for(int j=0;j<columns;j++){
					lastPosition[i][j] = maze[i][j];
				}
			}

			int lastMouse[] = new int[2];
			lastMouse[0] = mouse[0];
			lastMouse[1] = mouse[1];
			old_mouse.push(lastMouse);
			old_score.push(score);
			old_states.push(lastPosition);

			
			if(s == 2){
				// found the exit ! 
				succeed = true;
				
				maze[mouse[0]][mouse[1]] = 0; 
				mouse[1]++;
				maze[mouse[0]][mouse[1]] = 3;
				score += 10;
			}else{
				// make the move
				maze[mouse[0]][mouse[1]] = 0; 
				mouse[1]++;
				maze[mouse[0]][mouse[1]] = 1;
				score += 10;
			}

		}
		return false;		
	}