Inicio > Internet, Juegos > Planarity

Planarity

Miércoles, 21 de octubre de 2009 Dejar un comentario Ir a comentarios

El otro dia mi compañero de trabajo y piso Rodrigo consiguió sacarme de quicio. No es que sea muy dificil… pero lo consiguió.

Y no es que nos llevemos mal… es mas, nos llevamos de lujo, es que me prestó un juego de esos de metal que consiste en separar dos piezas que aparentemente no se pueden separar… y claro, como no soy cabezón ni nada… me tiré como 2 horas hasta que lo conseguí. Pablo 1 – Puzzle 0. Ayer Rodri me pasó otro puzzle (me cago’n’to! XD).

Mientras hablabamos sobre estos puzles de logica, me acordé de un juego flash que vi hace un tiempo y que iba de algo asi, de aplicar la logica para resolver un problema de vertices y lineas que se cruzan, un juego que se llamaba Planarity.

Me puse a investigar sobre ello, y descubri que era un juego creado por un tal John Tantalo y basado en una teoria de Mary Radcliffe de la Western Michigan University sobre Grafos Planos (0 Planares). Segun la teoría de grafos, un grafo plano puede ser dibujado en el plano sin que ninguna arista se cruze.

En el juego, el jugador(valga la redundancia) empieza con una serie de puntos conectados entre sí mediante aristas, y tiene que desenredar la red, moviendo los vértices, hasta que no se crucen ninguna de las aristas.

El juego en si es bastante facil en las primeras fases, pero a partir de la pantalla 3 empieza a complicarse la cosa. Ya que a medida que aumenta el nivel, aumenta el numero de vertices junto al numero de aristas por vertice, siguiendo este pseudocodigo:

Input: una lista L compueste por n lineas 2D, y una etiqueta A para cada p dentro de L de {1…n}

Establece G como un plano vacio.

Añade vertices {1…n(n-1)/2} a G.

Para cada linea p en L:

Establece M como una lista de lineas q en L de manera que p != q.

Ordena M por los puntos de interseccion de p con cada q en M.

Para cada par Mi Y Mi+1:

Establece u = IndicePar(A(p), A(Mi), n).

Establece v = IndicePar(A(p), A(Mi+1), n)

Añade un borde (u, v) a G.

Devuelve G.

Puede que resulte un poco complicado leerlo, pero ahi está. El resto de la teoria sobre la que se basa este juego la encontrareis aqui.

Como todos los juegos de logica que caen en mis manos… le he dedicado un tiempo a este… y no he conseguido pasar de la pantalla 5. Intentadlo y me decis.

Saludines.

Categories: Internet, Juegos Tags: , ,
  1. Sin comentarios aún.
  1. Sin trackbacks aún.
Debes estar registrado para dejar un comentario.