me parece que el principal error que tenés es que después de limpiar o verificar la casilla, volvés a creartablero y no le importa si está o no marcada alguna casilla, supongo que deberías implementar algo como una bandera, o sea si la casilla tiene un valor = 0 poner 9 si la casilla tiene valor= 1 dejar como está.