Descifrar Codigos Polarium

Hemos avanzado el tema!!!!

http://www.polarium-puzzles.com



Buenas.


Tal y como sabeis en el polarium es posible insertar un código y obtener así un nuevo puzzle.

Los códigos consisten en la sucesion de 3 líneas formadas por 10 dígitos cada una y cada uno de los dígitos en el rango [0-9]

código ejemplo:
5219177582
5880477582
4812025240

El otro día estuve investigando y creo que sería posible crear algun tipo de pagina web donde tu das el "código" de un puzzle polarium y esta página te muestre el puzzle (y creo que tambien la solucion).

La cuestion sería poder descifrar el significado de los códigos del polarium. (un poco de mates)

Digamos que el polarium realiza esta funcion :

Puzzle + Solución -> Código

y tendríamos que encontrar la inversa de esta:

Código -> Puzzle + Solución


Para ello necesito que alguien me ayude a intentar descifrar el significado de los códigos.


Por ejemplo el puzzle de ejemplo 0=blanco #=negro
0#
#0
Creo que tiene mas de 10 soluciones y cada una de ellas tiene un código diferente (excepto las 2 primeras lineas

Tambien me di cuenta que el código de los puzzles
0#0
#0#

0#0#
#0#0

tenian las 2 primeras líneas en común con el puzzle
0#
#0

Yo intentaré descifrar la funcion inversa y una vez lo tenga crearé una web donde podras dar un código y te mostrará el puzzle con una foto o en ascii. (y quizá la solución, pero que te de la solución no hace gracia)

Espero que la gente me ayude. Yo iré poniendo los avances que vaya encontrando. Esta tarde pondré códigos de ejemplo y una manera
de poder expresar los puzzles con su solución.

nota:no he puesto este post en el hilo de polarium porque trata de descifrar el significado de los códigos y no del propio juego en si.
Me parece muy buena idea... pero hay que tener varias cosas en cuenta... que parte del codigo dice si es blanco o negro y que parte del codigo dice el tamaño del puzzle... yo tambien voy a investigar... ;)

Talues.....
Un puzzle se representara asi:

GGGG
GBNG
GNBG
GGGG

G=Gris
B=Blanco
N=Negro

F=número de Filas
C=número de columnas

El número de casillas se denotará de esta forma: #

Número mínimo de casillas Blancas o Negras:
min(B)=max(F,C)-2
min(N)=min(B)
Por lo que he estado comprobando, las dos primeras lineas determinan la forma y posiciones, y la tercera linea determina la solucion del puzzle. Ya que he realizado 4 puzzles iguales, he realizado la solucion de 2 maneras diferentes, con lo que he obtenido 4 puzzles con las dos primeras lineas iguales, y con la tercera diferente, y esta tercera era igual en los que se resolvian de la misma manera, por lo que la tercera linea es la de los movimientos de resolucion.

Ahora bien... como funciona esta linea???.. ni pajolera. XD
Hola Jandemor:

Simplemente con que hayan usado una rutina de MD5, ya no podrás ni de coña desencriptarlos. ;-)

Saludos.
Esa linea no guarda la solucion, sino la primera y ultima casilla (teoria)

Probad a ver si el mismo puzzle, con distintas soluciones pero empezando y termnando en el mismo sitio tiene el mismo codigo.
tengo una teoria. CREO QUE NO ES CIERTA PORQUE HE ENCONTRADO 2 CAMINOS DISTINTOS CON EL MISMO CODIGO
Creo que los 30 dígitos sirven para indicar el camino del puzzle y la posicion del tablero a la vez.

Hay 100 cuadrados como máximo, y de esos 100 como múcho podras pasar por 92 (intenta crear un puzzle y pasar por todos los cuadrados y veras que no se puede, siempre te dejaras como mínimo 8)

Tomando una posicion inicial del puzzle, y sabiendo C y F se podria calcular el camino del puzzle de la siguiente manera

Inicio, derecha, arriba,izquierda, derecha,etc......(un máximo de 92 veces)



Nos da que el camino de un puzzle se podria representar (en binario) por 2^92 que es mas o menos 4951760157141521099596496896 (quiza no lo veas bien asi)
¿que tal asi?:

xx49517601
5714152109
9596496896

donde xx seria la posicion inicial de partida, C y F.


Para saber un puzzle basta con pintar todo de un mismo color y seguir el camino.... que pasa? pues que es el puzzle original.

Voy a intentar hacer un ejemplo grafico:

el puzzle
GGGG
GBNG
GNBG
GGGG

lo resuelvo de esta manera (sigue los numeros)
0234
0105
0076
0000

Y ahora aplica la solucion de antes (el mismo recorrido) pero a partir del puzzle siguiente: (todo negro menos los bordes)

GGGG
GNNG
GNNG
GGGG

EL RESULTADO ES:
GGGG
GBNG
GNBG
GGGG
QUE ES EL PUZZLE ORIGINAL.


Asi que con solo saber el camino podemos saber como es el puzzle inicialmente.

Por lo tanto creo que los 30 dígitos son el camino mas C + F + posicion inicial.


=========================================
Ahora voy a poner codigos de puzzles

1º:

-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0100
0200
0000
-Codigo
588047758258804775829693144431
-Binario
111100010101001111101111100111110111100001101100001110101101111

2º:
(mismo inicio que el de arriba y final de arriba pero con diferente camino)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0 2 3 4
0 1 0 5
0 10 0 6
0 9 8 7
-Codigo
588047758258804775829693144431
-Binario
111100010101001111101111100111110111100001101100001110101101111

3º: (inicio y final intercambiados por el primer puzzle)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0200
0100
0000
-Codigo
588047758258804775829889044431
-Binario
111100010101001111101111100111111000111111000110100111111001111

4º: (inicio y final igual que el 1º y el 2º, pero con una fila mas)
-puzzle
GGGG
GNBG
GBNG
GNBG
GGGG
-Solucion
0000
2100
3600
4500
0000
-Codigo
588047758258804775821008983161
-Binario
111100010101001111101111100110110110110100110000101010001111001

5º (inicio y final igual que 1,2 y 4 pero con una columna mas)
-Puzzle
GGGGG
GNBNG
GBNBG
GGGGG
-Solucion
0 2 3 4 0
0 1 0 5 0
0 10 0 6 0
0 9 8 7 0
-Codigo
588047758258804775821276521631
-Binario
111100010101001111101111100110111000110100010101010010010011111

Ahora comparo los 5 binarios: (el 2º lo quito porque es igual que el 1º)
1º:111100010101001111101111100111110111100001101100001110101101111
3º:111100010101001111101111100111111000111111000110100111111001111
4º:111100010101001111101111100110110110110100110000101010001111001
5º:111100010101001111101111100110111000110100010101010010010011111


1º,2 y 3º comparten filas y columnas
1,2,4 y 5 comparten inicio y final
4 tiene una fila mas
5 tiene una columna mas
3 intercambia el inicio por el final


Las casillas (100) las numeramos del 0-99
99 = 1100011 -> implica que necesitariamos 8 bits

Aunque de las 100 casillas solo tiene sentido empezar por una de las de color B o N, no tiene sentido empezar por una del borde. Así que nos quedan 8x8 casillas = 64 (del 0 al 63)

63=111111 ->necesitamos 6 bits para representar las 64 casillas.

El inicio tendria que ser en principio de 6 u 8 bits

Ahora toca hacer uso de la deduccion
Si no me equivoco, creo entender que tomas un bit para representar cada movimiento. Eso no es correcto, harian falta un minimo de 2 bits por movimiento para codificar las 4 direcciones, y 3 si ademas añadimos la casilla inicial-final.

De todas maneras (y ya lo dije en el post de ********) el camino NO se guarda en el codigo. Aparte de ser imposible es inutil.

Copio y pego:

Te pide resolverlo para asegurarse de que tiene al menos una solucion, pero eso no quiere decir que la guarde, porque si no se perderian todo el resto de soluciones (si las tiene).

Yo no digo que calcule todas las soluciones en tiempo real, digo que cuando haces el trazo, compruebe si ese en concreto es solucion o no.

Imaginad un puzle de un solo color y del tamaño maximo. Tendria un numero enorme de soluciones, es imposible que eso se guarde todo en el codigo. Tampoco podria guardar solo la solucion que tu especifiques, porque se eliminarian todas las demas que son perfectamente validas, y seria casi imposible a la hora de jugar encontrar la solucion que especifico el creador del puzle...


Lo que si que tengo casi seguro es que tableros iguales resueltos de maneras diferentes pero con las mismas casillas inicial y final daran codigos identicos. Yo no tengo el juego, pero a ver si lo podeis probar alguno y me decis.

*EDITO*

Veo que en los puzles de arriba que ya has probado y si que sale lo mismo. Esto demuestra que el camino es indiferente y no se guarda, solo el tablero y la posicion inicial-final.
si, tienes razon. Ya me he dado cuenta que el camino no se guarda, sino el puzzle, inicio, final , F , C ahora solo es cuestion de averiguar como lo hace.
Yo si tuviera el Polarium me ponia, porque no creo que tenga ningun tipo de encriptacion (si os fijais las casillas inicial y final siempre estan en la misma zona), pero sin el lo unico que puedo hacer es aportar sujerencias e hipotesis :p
jandujar escribió:tengo una teoria. CREO QUE NO ES CIERTA PORQUE HE ENCONTRADO 2 CAMINOS DISTINTOS CON EL MISMO CODIGO
Creo que los 30 dígitos sirven para indicar el camino del puzzle y la posicion del tablero a la vez.

Hay 100 cuadrados como máximo, y de esos 100 como múcho podras pasar por 92 (intenta crear un puzzle y pasar por todos los cuadrados y veras que no se puede, siempre te dejaras como mínimo 8)

Tomando una posicion inicial del puzzle, y sabiendo C y F se podria calcular el camino del puzzle de la siguiente manera

Inicio, derecha, arriba,izquierda, derecha,etc......(un máximo de 92 veces)



Nos da que el camino de un puzzle se podria representar (en binario) por 2^92 que es mas o menos 4951760157141521099596496896 (quiza no lo veas bien asi)
¿que tal asi?:

xx49517601
5714152109
9596496896

donde xx seria la posicion inicial de partida, C y F.


Para saber un puzzle basta con pintar todo de un mismo color y seguir el camino.... que pasa? pues que es el puzzle original.

Voy a intentar hacer un ejemplo grafico:

el puzzle
GGGG
GBNG
GNBG
GGGG

lo resuelvo de esta manera (sigue los numeros)
0234
0105
0076
0000

Y ahora aplica la solucion de antes (el mismo recorrido) pero a partir del puzzle siguiente: (todo negro menos los bordes)

GGGG
GNNG
GNNG
GGGG

EL RESULTADO ES:
GGGG
GBNG
GNBG
GGGG
QUE ES EL PUZZLE ORIGINAL.


Asi que con solo saber el camino podemos saber como es el puzzle inicialmente.

Por lo tanto creo que los 30 dígitos son el camino mas C + F + posicion inicial.


=========================================
Ahora voy a poner codigos de puzzles

1º:

-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0100
0200
0000
-Codigo
588047758258804775829693144431
-Binario
111100010101001111101111100111110111100001101100001110101101111

2º:
(mismo inicio que el de arriba y final de arriba pero con diferente camino)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0 2 3 4
0 1 0 5
0 10 0 6
0 9 8 7
-Codigo
588047758258804775829693144431
-Binario
111100010101001111101111100111110111100001101100001110101101111

3º: (inicio y final intercambiados por el primer puzzle)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0200
0100
0000
-Codigo
588047758258804775829889044431
-Binario
111100010101001111101111100111111000111111000110100111111001111

4º: (inicio y final igual que el 1º y el 2º, pero con una fila mas)
-puzzle
GGGG
GNBG
GBNG
GNBG
GGGG
-Solucion
0000
2100
3600
4500
0000
-Codigo
588047758258804775821008983161
-Binario
111100010101001111101111100110110110110100110000101010001111001

5º (inicio y final igual que 1,2 y 4 pero con una columna mas)
-Puzzle
GGGGG
GNBNG
GBNBG
GGGGG
-Solucion
0 2 3 4 0
0 1 0 5 0
0 10 0 6 0
0 9 8 7 0
-Codigo
588047758258804775821276521631
-Binario
111100010101001111101111100110111000110100010101010010010011111

Ahora comparo los 5 binarios: (el 2º lo quito porque es igual que el 1º)
1º:111100010101001111101111100111110111100001101100001110101101111
3º:111100010101001111101111100111111000111111000110100111111001111
4º:111100010101001111101111100110110110110100110000101010001111001
5º:111100010101001111101111100110111000110100010101010010010011111


1º,2 y 3º comparten filas y columnas
1,2,4 y 5 comparten inicio y final
4 tiene una fila mas
5 tiene una columna mas
3 intercambia el inicio por el final


Las casillas (100) las numeramos del 0-99
99 = 1100011 -> implica que necesitariamos 8 bits

Aunque de las 100 casillas solo tiene sentido empezar por una de las de color B o N, no tiene sentido empezar por una del borde. Así que nos quedan 8x8 casillas = 64 (del 0 al 63)

63=111111 ->necesitamos 6 bits para representar las 64 casillas.

El inicio tendria que ser en principio de 6 u 8 bits

Ahora toca hacer uso de la deduccion


olé, olé y ooolé
cagon la puta.

Creo que la puta calculadora de windows me ha timado y los codigos binarios son incorrectos

Probar a pasar el codigo decimal a binario y luego al reves. Y yo buscando comparaciones como un gilipollas
No busques patrones en el binario todavia, porque aun no estamos seguros de que formato han usado para representar cada casilla.

De momento hay que trabajar en decimal, el siguiente paso seria ver que posicion ocupa cada elemento. De momento sabemos que las casillas inicial y final se representan en el grupo de 4 o 5 digitos de la penultima fila. El siguiente paso seria crear dos puzles iguales pero con una casilla diferente, para ver cual es la variacion.

Y si a partir de ahora puedes poner los codigos en matriz te lo agradeceria, que en linea son muy complicados de comparar... ^^;
Pasamos de binarios de momento.

copio lo de antes pero en decimal

1º:

-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0100
0200
0000
-Codigo
5880477582
5880477582
9693144431

2º:
(mismo inicio que el de arriba y final de arriba pero con diferente camino)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0 2 3 4
0 1 0 5
0 10 0 6
0 9 8 7
-Codigo
5880477582
5880477582
9693144431

3º: (inicio y final intercambiados por el primer puzzle)
-Puzzle
GGGG
GNBG
GBNG
GGGG
-Solucion
0000
0200
0100
0000
-Codigo
5880477582
5880477582
9889044431

4º: (inicio y final igual que el 1º y el 2º, pero con una fila mas)
-puzzle
GGGG
GNBG
GBNG
GNBG
GGGG
-Solucion
0000
2100
3600
4500
0000
-Codigo
5880477582
5880477582
1008983161

5º (inicio y final igual que 1,2 y 4 pero con una columna mas)
-Puzzle
GGGGG
GNBNG
GBNBG
GGGGG
-Solucion
0 2 3 4 0
0 1 0 5 0
0 10 0 6 0
0 9 8 7 0
-Codigo
5880477582
5880477582
1276521631

6ºpuzzle 3x3
-Puzzle
GGGGG
GBNNG
GBNNG
GBNNG
GGGGG
-Solucion
00000
01000
02000
03000
00000
-Codigo
6447087582
5880477582
1063489991

7ºpuzzle 3x3 igual que 6 pero con inicio y final intercambiados
-Puzzle
GGGGG
GBNNG
GBNNG
GBNNG
GGGGG
-Solucion
00000
03000
02000
01000
00000
-Codigo
6447087582
5880477582
1445389991

-8º (igual que el 7 pero la primera fila intercambia 2 fichas,mismo inicio y final)
-Puzzle
GGGGG
GNNBG
GBNNG
GBNNG
GGGGG
-Solucion
54300
61200
78000
09000
00000
-Codigo
3447087582
5880477582
3591159491


-9º (igual que el 7 pero la primera fila intercambia los colores)
-Puzzle
GGGGG
GNBBG
GBNNG
GBNNG
GGGGG
-Solucion
00000
03000
02000
01000
00000
-Codigo
1447087582
5880477582
1639495191

1º,2 y 3º comparten filas y columnas
1,2,4 y 5 comparten inicio y final
4 tiene una fila de mas (inicio y final iguales)
5 tiene una columna de mas (inicio y final iguales)
3 intercambia el inicio por el final
6 y 7 son iguales pero con inicio y final intercambiados


Todos los codigos juntos:
-1ºy 2º son iguales
5880477582
5880477582
9693144431
-3º
5880477582
5880477582
9889044431
-4º
5880477582
5880477582
1008983161
-5º
5880477582
5880477582
1276521631
-6º
6447087582
5880477582
1063489991
-7º
6447087582
5880477582
1445389991
-8º
3447087582
5880477582
3591159491
-9º
1447087582
5880477582
1639495191



(joder como cambia el 7 del 8 y 9)
Asi mas facil. Es el mismo formato que se usa en la DS para mostrar los codigos? Por cierto, a partir de ahora no hace falta que incluyas la solucion, basta con poner solo la primera y la ultima.

Bueno, de momento sabemos que las casillas inicial y final se almacenan el los 5 primeros digitos de la ultima linea (o 4 a partir del segundo, pero tengo la impresion de que el 9 es coincidencia por estar en la misma columna ambas).

Ahora habria que probar lo que dije antes, dos iguales pero con una casilla cambiada de color, asi podriamos intentar averiguar cuantos bits cambian en el codigo y tendriamos una pista de cuantos enumerados engloba el tipo baldosa.
cosa curiosa:

10º
-puzzle
GGGGG
GBNNG
GBNNG
GBNNG
GGGGG
-solucion
00000
01000
02000
03000
00000
-Codigo
6447087582
5880477582
1063489991

11º (igual que 10 pero cambiando blancas por negras)
-puzzle
GGGGG
GNBBG
GNBBG
GNBBG
GGGGG
-solucion
00000
01000
02000
03000
00000
-Codigo
1848747582
5880477582
1635818471

12º(igual que 11 pero cambiando inicio y final)
codigo:
1848747582
5880477582
1027718471

Asi pues la fila del medio tiene que tener informacion equivalente entre el puzzle 10 y 11.
Podria tratarse de C,F,#B,#N.....
Se confirma que los digitos 2-5 de la tercera fila corresponden al inicio y final de un puzzle
jandujar escribió:Asi pues la fila del medio tiene que tener informacion equivalente entre el puzzle 10 y 11.
Podria tratarse de C,F,#B,#N.....
Se confirma que los digitos 2-5 de la tercera fila corresponden al inicio y final de un puzzle


Entre el puzle 10 y 11 no, si te fijas, esa linea es comun para los 12 puzles hasta el momento, y a su vez coincide con la primera linea de los 3 primeros.

Apartir de ahi podemos deducir que la linea de en medio por el momento no tiene demasiada relevancia, habria que ver si algun puzle la hace cambiar...

*EDITO* Otra curiosidad que veo es que aunque el 10 y el 11 tienen C y F en la misma coordenada, sus digitos son diferentes, asi que parece que ademas de la posicion, guarda el color de esas dos casillas.
Despues de echarle un ratillo al asunto creo que he sacao algo.

Primero he hecho un mapa de 2x2 sin variar ninguna casilla :

NB
BN

y lo he solucionado de esta forma :

01
02

Este mapa devuelve un código formado por tres filas de diez dígitos :

5880477582
5880477582
8568697731

Lo primero que me mosquea es que las dos primeras filas son iguales,y solo varía la tercera.
Así que lo que hago es solucionar el mapa de esta manera :

10
20

que devuelve este codigo :

5880477582
5880477582
9693144431

Como se ve,lo único que cambia es la tercera línea ,así que esa línea debe guardar la solución con la que hemos
validado el mapa.
Las otras dos no cambian así que deben ser el mapa en si mismo.

Centrémonos en las dos primeras líneas ,ahora crearé un mapa de 8x8 sin variar ninguna casilla :

NBNBNBNB
BNBNBNBN
NBNBNBNB
BNBNBNBN
NBNBNBNB
BNBNBNBN
NBNBNBNB
BNBNBNBN


el código resultante sin tener encuenta la última línea es este :

5880477582
5880477582

que como vemos es igual que el código del mapa de 2x2 en el que tampoco se varió ninguna casilla.

Esta claro que aunque para nosotros el mapa sea de 2x2 el juego
está guardando todo el tablero, ya que es el mismo código que el de 8x8.

por lo que el mapa sin variar ninguna casilla y sea del tamaño que sea siempre da este código :

5880477582
5880477582

que llamaré código por defecto xD.

Así que ahora me creo un mapa de 3x3 en el cambio la primera casilla :

BBN
BNB
NBN

y nos da este resultado :

4880477582
5880477582

juass solo ha cambiado el primer dígito de la primera fila a 4 ,cambiemos también la primera casilla de la tercera fila del mapa.
La segunda fila por ahora no cambia.

BBN
BNB
BBN

que nos da este código :

8435767582
5880477582

ahora vemos que han variado algunos dígitos más,pero lo que me mosquea es que
la segunda fila 5880477582 no ha variado en ningún puzle por ahora.

Esta claro que algo no varía y por eso se repite siempre la segunda fila del código.
El mapa con un tamaño máximo puede ser de 8x8, con lo que se podría representar con 64bits,que pasado a un int
nos daría una cifra de 19 dígitos ,vaya, no llega para representar el mapa,y eso me da la pista de porque no varía (por ahora) la segunda fila.

Ahora me creo un mapa de 5,3 en el que sólo cambio la primera casilla de la 5 fila :

NBN
BNB
NBN
BNB
BBN

que nos da este código :

5880477582
4880477582

vaya por fin ha cambiado la segunda fila,el primer dígito ha pasado de 5 a 4.
Y vemos que la primera fila es común a la primera fila del código por defecto.

Ahora cambio en el mapa la primera casilla de la primera fila :

BBN
BNB
NBN
BNB
BBN

Que nos da este resultado :

4880477582
4880477582

Juas, ahora son iguales,ha cambiado el primer dígito de la primera y la segunda fila.
Parece que si repites lo mismo en la fila 1 y en la 5 las lineas del código resultante son iguales.

y eso es por que siempre se guarda el mapa entero ,en este caso tal que así :

BBNBNBNB
BNBNBNBN
NBNBNBNB
BNBNBNBN
BBNBNBNB
NBNBNBNB
BNBNBNBN
NBNBNBNB

si separo el mapa en dos partes de 4 filas tal que así :

BBNBNBNB
BNBNBNBN
NBNBNBNB
BNBNBNBN

BBNBNBNB
NBNBNBNB
BNBNBNBN
NBNBNBNB

vemos que los dos bloques son identicos ,por eso las dos lineas de código son iguales.
Cada bloque es de 4x8 ,cada fila serán 8bits ,dando un total de 32bits,que pasado a int nos da un número de
diez cifras ,justo una fila del código.

Por lo cualo si pasamos un código de 10 cifras a binario ,nos dara 32bits de ceros y unos.

bien vamos a pasar la primera fila del código por defecto a binario :

5880477582 --> 101011110100000001111011110001110

lo ponemos en filas de 8 :


10101111
01000000
01111011
110001110

juasssssssssssss pero que pa que paassssaaaa ,me sobra un dígito!,es porque aunque el codigo sea de 10 cifras
al pasarlo a binario se pasa de 32bits y nos mete un byte más, si le ponemos 7 ceros por delante... :

00000001
01011110
10000000
11110111
10001110

cuadrar cuadra ,pero tenemos 5 filas jorr,mi gozo en un pozo xD.

hagámoslo al revés ,pongamos que cada bloque blanco del mapa es un 1 y cada bloque negro un 0.

01010101
10101010
01010101
10101010

si lo pasamos a decimal nos da : 1437226410 que no tiene nada que ver con el código por defecto :(.
otra prueba ,ahora cada bloque negro sea un 1 y el bloque blanco un 2 :

10101010
01010101
10101010
01010101

bien ,pasemoslo a decimal ---> 2857740885 y coño tampoco es, pero no os suena ? es el código por
defecto pero dado la vuelta ,veamos :

orginal 5880477582
conversion 2857740885

asi que vamos a probar a pasar a binario 2857740885 --> que nos devuelve esto :

10101010010101011010101001010101

que en filas es

10101010
01010101
10101010
01010101

os suena ? es el mapa por defecto.

Bien ahora creemos un mapa de 3x3 cambiado la primera casilla de la primera fila
y la primera casilla de la tercera fila :

001
010
001

resolvamoslo y veamos su código :

8435767582
4880477582


pasemos la primera fila a binario 8435767582 pero dandole la vuelta 2857675348 -->

10101010
01010100
10101010
01010100


umm no cuadra ,demosle la vuelta

00101010
01010101
00101010
01010101

y ahi lo tenemossssssssssssssss aleluyaaaaaaaaaaaaaa.

vamos que despues de todo este rollo, para covertir un código a mapa se coge la primera línea del código,
le damos la vuelta y la pasamos a binario ,una vez en binario la damos la vuelta y nos devolverá las 4 primeras
filas del mapa original.hacemos lo mismo con la segunda fila del código y yasta ,tenemos el mapa completo.

ahora solo queda investigar la tercera linea ,yo ahora me piro a sobar que me ha dejao loco el polarium,
lo mismo mañana me creo un servlet que te devuelva un imagen del mapa si le pasas los codigos.

pd:puede que haya idas de pinza en el escrito,es nomal ,estas horas son malasssss.....
[flipa]

Chavalote me quito el sombrero te lo has currado mucho.

Voy a verificar que lo que dices es cierto (que no lo dudo) con un codigo aleatorio.

En cuanto a la última fila, creo que el numero de filas y columnas se guarda en los digitos 2-5 y lo demas no tengo ni idea de que es.
Pero con saber como se pasa de codigo a puzzle ya esta muy bien.

Tu haz un servlet que yo hago un php XD (muchisimas gracias por tu aportacion)

[oki]


EDITO: Verificado con un codigo aleatorio.
Tio me has alegrado el día.Ahora ya sabemos como se codifican los puzzles. Lo único que hace falta ahora es saber que dígitos controlan
el número de filas, el número de columnas el inicio y final de solucion del puzzle. (aunque la tercera fila tiene muchos digitos y seguro que hay mas informacion que esta)

Nota: Si os parece podemos hacer una página web entre los 3 que hemos participado que se llame "www.polarium-puzzles.com" (por ejemplo) que disponga de un traductor codigo->puzzle y puzzle->codigo y una pequeña BD para que los usuarios puedan añadir sus codigos. (al estilo de http://www.goproblems.com)

Nota2: He registrado el dominio polarium-puzzles.com (joer 24€ menos) así que ahora sería cuestion de buscar un host.
Yo tengo un pequeño servidor pero mi adsl de 512 no da para muchos usuarios y lo suyo sería que la web no tubiera problemas con esto.

Para mi entender solo necesitamos un servidor de hosting que soporte PHP + MySql + un poquito de espacio.
Enhorabuena, este es el tipo de cosas por las que te crees dios y te sientes como si te hubieras colado en la base de datos de la nasa xD

Poned algunos puzles mas de diferentes tamaños con su correspondiente tercera fila, a ver que sacamos.

PD: Al final tendre que acabar pillandome un polarium xD
Bueno, yo tengo ese espacio. No se cuanto ancho de banda ocuparia gastando pero como aun no estamos haciendo un uso total del servidor, podeis montarlo alli. Aparte puedo hacer el diseño si quereis.

chao
Aqui tengo la pagina (se ira modificando) junto con el programilla (version 1.0) hay que indicarle el numero de filas y columnas que tiene el puzzle

http://www.polarium-puzzles.com/
jandujar escribió:Aqui tengo la pagina (se ira modificando) junto con el programilla (version 1.0) hay que indicarle el numero de filas y columnas que tiene el puzzle

http://www.polarium-puzzles.com/


Desde luego un trabajo estupendo y realmente rapido. A ver si pronto desciframos la tercera fila, porque de momento si alguien coje un puzle de algun lado no va a poder mostrarlo al no saber el numero de filas y columnas.

Tambien estaria muy bien poder tener el camino inverso, es decir, un editor de puzles exacto al del juego. Asi la gente podria crear puzles via web que se almacenasen directamente en el servidor, junto con los enviados mediante codigo. De esa manera podria ser la mayor base de datos de puzles del polarium.

Si se pudiera hacer en C lo tendria listo esta tarde, pero como no conozco java simplemente lanzo a idea. :(

PD. No se si merecia estar en los agradecimientos, pero en cualqueir caso, podrias cambiar el nombre por Locke a secas? Asi me conocen en todos lados, pero aqui estaba pillado...

PD2. No se si en la pagina hay un error... Fields no es campos? Creo que deberia ser Files, aunque no se si me equivoco...

*EDITO*

Mas cositas... para sacar filas deberia bastar con crear el tablero por defecto (el de forma de tablero de ajedrez) e ir variando de uno en uno el numero de filas, viendo en el binario de la tercera fila del codigo que bits van cambiando. Despues se dejarian fijas las filas y se cambiarian las columnas. 3 bits pueden codificar 8 valores, y teniendo en cuenta que solo son necesarios 7 de ellos (del 2 al 8) seguramente sea facil de encontrar.

Eso si, teneis que dejar el inicio y el final siempre iguales.

Despues de eso, con los pocos bits que sobren ya sera muy sencillo encontrar inicio y final. Yo creo que seran 6 bits para las coordenadas en el tablero y 1 para el color de la casilla, lo que hacen 14 bits.

Si alguien puede comprobarlo...
bueno. Ahora voy a hacer lo que has dicho. A ver si consigo encontrar las filas y columnas. (una vez lo tenga ya podré hacer un programilla mejor).

Acto seguido me voy a poner con la BD para poder añadir codigos.
Los campos que se me ocurren son:

id,codigo,date, dificultad, submiter, reads, completes (gente que lo completa, para ello tengo que hacer un programa en java para poder jugar a los puzzles)


Puzzle por defecto:
GGGG
GBNG
GNBG
GGGG

0000
0100
0200
0000

codigo 2 columnas:
(solo copio el 3)
9693144431
codigo 3 columnas:
1276521631
codigo 4 columnas:
3749908731

en binario:
1001000001110000011010010101101111
0001001100000101100010110010011111
0011011111100000110001000011111011

(no se parecen ni en pintura) hago el intercambio de Unlaw
1344413969
1361256721
1378099473
binario:
1010000001000100010000100010001
1010001001000110010000100010001
1010010001001000010000100010001
(se parecen bastante, aun asi les doy la vuelta)
1000100010000100010001000000101
1000100010000100110001001000101
1000100010000100001001000100101

A ver si alguien sabe cuales son los bits que indican 2columnas,3columnas y 4 columnas

Voy ha hacer lo mismo con las filas.
9693144431
1008983161 (3 filas)
3302833881
5606682512
7900532242
9214381962
1618131692

intercambio
1344413969
1613898001
1883382033
2152866065
2422350097
2691834129
2961318161

01010000001000100010000100010001
01100000001100100010000100010001
01110000010000100010000100010001
10000000010100100010000100010001
10010000011000100010000100010001
10100000011100100010000100010001
10110000100000100010000100010001

vuelta de bits
10001000100001000100010000001010
10001000100001000100110000000110
10001000100001000100001000001110
10001000100001000100101000000001
10001000100001000100011000001001
10001000100001000100111000000101


YA LO TENGO CLARO PARA LAS FILAS!!!
0101-0000---0010---0010-0010-0001-0001-0001 2
0110-0000---0011---0010-0010-0001-0001-0001 3
0111-0000---0100---0010-0010-0001-0001-0001 4
1000-0000---0101---0010-0010-0001-0001-0001 5
1001-0000---0110---0010-0010-0001-0001-0001 6
1010-0000---0111---0010-0010-0001-0001-0001 7
1011-0000---1000---0010-0010-0001-0001-0001 8

YA LO TENGO CLARO PARA LAS COLUMNAS
0101-0000-0010---0010---0010-0001-0001-0001 2
0101-0001-0010---0011---0010-0001-0001-0001 3
0101-0010-0010---0100---0010-0001-0001-0001 4

Asi pues los bits de 3 columna son el numero de filas
y los de la 4 columna son el numero de columnas.
Los primeros desconozco que son, pero tienen pinta de ser un CRC
porque todos los codigos empiezan en la misma posicion.

Voy a verificarlo con un codigo de 5 filas y 3 columnas

3787390581

1850937873

0110-1110-0101-0011- 0001-0010-0001-0001


OLE, OLE , OLE!!!! Ya tengo descifrado todo lo necesario!!!!

Ya puedo empezar a modificar el codigo de la funcion y empezar a ponerme con el diseño de la web!!!

Gracias a todos.
Lol, justo lo acababa de descubrir, te iba a pedir que pusieras el de 4 y el de 8 columnas para verificarlo, pero veo que te has adelantado xD

Pues ya lo unico que queda es la posicion inicial y final para dar por finalizado el enigma... :)
Jum No se que tal buena idea es poner el juego en java para resolver los puzzles. Osea, que hay ciertos derechos de lo que son dueños. Molaria bastante pero es ilegal.

Creo que se deveria dar cierta importancia a la dificultad para catalogar los puzzles. Dos de ellas. Una la que le coloque el propio autor y otra la que le de el publico.

Así, yo en la portada al menos en una parte pondria una columna con los ultimos puzzles que coloque la gente, el nombre, autor, y la dificultad original.

Tambien estaria gracioso que al subir puzzles el autor pudiese firmar como cuando superas records en el modo desafio, haciendo un pequeño dibujito. Pero creo que estoy complicando demasiado el tema
ya se pueden grabar vuestros puzzles en la pagina web.

¿Alguien sabe como dar a conocer la pagina?

¿Hay alguna herramienta para darla a conocer en los buscadores?
Un buen sistema seria por fecha, orden alfabetico, numero de veces visto y puntuacion, suponiendo que se ponga algun sistema para puntuar los puzles que mas te gusten...

Por cierto Jandujar, en la pagina se te ha olvidado poner la opcion de ver el codigo en el listado de puzles. Asi no se pueden meter en la DS a no ser que lo crees siguiendo el dibujo...
Bueno, he mirado un poquito esto y aporto mi granito de arena. En la 3ª fila, los grupos 5º,6º,7º y 8º son la posicion inicial y final de la solucion:

5º -> Fila final de la solucion
6º -> Columna final de la solucion

7º -> Fila inicial de la solucion
8º -> Columna final de la solucion

Quedando la fila de esta manera:
CRC-CRC-NºFilas-NºColumnas-FilaFinSolucion-ColFinSolucion-FilaInicioSolucion-ColInicioSolucion

Estoy mirando el CRC a ver si lo saco, no parece complicado.
Veo que ya habéis sacado las filas y columnas !! [oki]

Yo añado las posiciones de comienzo y final,son los dos últimos bytes :

0010 0011 1000 1000 yf0011 xf0100 yc0010 xc0011

yf = coordenada y del final.
xf = coordenada x del final.

yc = coordenada y del comienzo.
xc = coordenada x del comienzo.
Para salir en buscadores como http://www.google.com no tienes que darte de alta en ningun sitio. Google utiliza un algoritmo bastante complejo para buscar y posicionar las paginas pero basicamente:

Para salir lo más rapido posible tienes que ser linkeado por paginas ya indexadas por Google.com. Lo más facil es mandar un mensajito con la hazaña a las tropecientas webs sobre videojuegos y especificamente sobre videojuegos de DS. Tambien se puede probar con nintendo.es ¿por que no?

Google y la mayoria de los buscadores modernos pasan de las meta-tags, por culpa del abuso que hicieron los webmasters hace tiempo. Mira que graciosos, con las utiles que eran. Ahora mira las palabras del titulo de la web, del nombre de los archivos, se fija especialmente los textos con tamaño grande de las letras y que esten dentro de las etiquetas

<...>. Y tu posicion de pagerank. Que se consigue teniendo muchos links externos dirigidos a tu web pero el menos posible de links tuyos hacia el exterior (para evitar el intercambio de links).

Luego puedes hacer como el cara de Diskun XD y meterlo en la wikipedia en la sección de DS y Polarium

pues a ver si la gente me empieza a linkar.

Al menos cuando tenga listo el juego que coja como entradas los codigos de la BD
Ten cuidao a ver si va a haber problemas legales... una base de datos no esta mal, incluso podria parecerles bien. Un editor de puzzles online es una buena idea para ampliar aun mas el catalogo... pero ya hacer el juego Online usando una base de datos tan grande no se yo si seria pasarse de la raya... le quitaria gran parte del valor al cartucho.

Por otro lado, mira lo que te dije en la galeria de puzles. Estaria mejor que hubiera alguna manera de ver el codigo numerico de los que se vayan enviando para poder meterlos en la DS...
no se si habra algún problema legal (es como si alguien hace un juego de ajedrez y tu creas otro online)

De todas formas si se quejan, lo quitaré enseguida.

(total, lo que hago es promocionar su juego)

En cuanto al codigo, es verdad, se me ha olvidado mostrarlo para que
la gente lo pueda poner en su DS.

¿Alguien me puede hacer un banner pequeñito para la pagina?
Que ponga "Polarium-Puzzles"
El juego del ajedrez es de dominio publico, este puzle lo tendran ellos registrado, o por lo menos los graficos y logos, pero como bien dices, mientras no se quejen... :)
Siento Reflotar este hilo tan viejo... Pero porque la página esa maravillosa ya no existe??? [buuuaaaa]

http://www.polarium-puzzles.com/

Cuando descifrasteis todo eso yo aun no estaba por aquí, quiero aprovechar para felicitaros! Aunque sea un año y algun que otro mes tarde...

[bye]
35 respuestas