public Object result(Object s, Action a) {

			Sudoku sudoku = (Sudoku) s;
			int grille[][] = sudoku.getGrille();
						
			int newGrille[][] = new int[9][9];
			for(int i= 0 ; i < 9 ; i++){
				for(int j = 0 ; j < 9 ;  j++){
					int pp = grille[i][j];
					newGrille[i][j] = pp;
				}
			}
			
//////			System.out.println("generer avec action: "+ a.toString());
			for(int i = 0 ; i < 9 ; i++ ){
				for(int j = 0 ; j < 9 ; j++ ){
					for(int k = 1 ; k <= 9 ; k++){

						if(Sudoku.actions.get(i+""+j+""+k).equals(a) ){
							Sudoku newSudoku = new Sudoku(newGrille);
							newSudoku.setCasse(i, j, k);
//////								System.out.println("generer?: "+i+j+k + "  avec action: "+ a.toString());
//////								System.out.println("enfant_genere: " + i +j +k);
							return newSudoku;
						}
					}
				}
			}

			
			
//			int ii = -1;
//			int jj = -1;
//			boolean trouve = false;
//			for(int i = 0 ; i < 9 ; i++){
//				for(int j = 0 ; j < 9 ; j++){
//					if(grille[i][j] == 0 && !trouve){
//						ii = i;
//						jj = j;
//						trouve = true;
//					}
//				}
//			}
// 
//			if(ii>=0){
//				int newGrille[][] = new int[9][9];
//				for(int i= 0 ; i < 9 ; i++){
//					for(int j = 0 ; j < 9 ;  j++){
//						int pp = grille[i][j];
//						newGrille[i][j] = pp;
//					}
//				}
//				if(sudoku.UN.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 1);
//					return newSudoku;
//				}
//				else if(sudoku.DEUX.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 2);
//					return newSudoku;
//				}
//				else if(sudoku.TROIS.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 3);
//					return newSudoku;
//				}
//				else if(sudoku.QUATRE.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 4);
//					return newSudoku;
//				}
//				else if(sudoku.CINQ.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 5);
//					return newSudoku;
//				}
//				else if(sudoku.SIX.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 6);
//					return newSudoku;
//				}
//				else if(sudoku.SEPT.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 7);
//					return newSudoku;
//				}
//				else if(sudoku.HUIT.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 8);
//					return newSudoku;
//				}
//				else if(sudoku.NEUF.equals(a)){
//					Sudoku newSudoku = new Sudoku(newGrille);
//					newSudoku.setCasse(ii, jj, 9);
//					return newSudoku;
//				}
//			}
			return s;
		}