Ver Mensaje Individual
  #11  
Antiguo 10-04-2016
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Reputación: 17
jhonalone Va por buen camino
Hola Agustín.
Gracias por tu interés.
En Madrid son mas de las 12 de la noche y estoy cansado. Mañana reviso el enlace.
Las funciones de comprobación son muy simples.
Te pongo un par de ellas de las más complicadas:
Código Delphi [-]
 function Fila(Tablero: TTablero; y,n: Integer): boolean;
var
  x: Integer;
begin
  Result:= TRUE;
  x:= 0;
  while (x < NUM_COLUMNAS) and Result do
  begin
    if Tablero[x,y] = n then
      Result:= FALSE;
    inc(x);
  end;
end;

function Valido(Tablero: TTablero; x,y,n: Integer): boolean;
begin
  Result:= Fila(Tablero,y,n) and Columna(Tablero,x,n)
    and Cuadrante(Tablero,x,y,n);
end;

function Obvio(Tablero: TTablero; x,y: Integer): Integer;
var
 i,j,n: Integer;
begin
 j:= 0; n:= 0;
 for i:=1 to 9 do
   if Valido(Tablero,x,y,i) then
   begin
     n:= i;
     inc(j);
   end;
 if j=1 then
   Result:= n
 else
   Result:= 0;
end;

He estado haciendo mediciones de tiempo en distintos dispositivos:
En la Tablet Samsung Galaxy Tab3 tarda 31/32 seg.
En teléfono Samsung Galaxy S III mini 12 seg.
En teléfono Samsung Galaxy A3 7 seg.

Está claro que depende del procesador implicado.

Creo que me va a servir el enlace que me has dejado. Estoy convencido de que sólo necesito no dejar la pantalla en negro, para que el usuario no quede sorprendido y desinformado.

Buenas noches para mi y buenas tardes para ti.

Saludos.
Responder Con Cita