Pypbp

Para consultas y debates sobre el contenido de este artículo, visita el Hilo oficial.


Python Paint by Pairs (dibujar por parejas) es una implementación del nonograma Paint by Pairs usando Pygame y Python 2.7.8.

Contenido

Introducción

  • Link-a-Pix (también conocido como "Pintar por parejas") consiste en una rejilla, con números rellenando algunas celdas; las parejas de números deben ser emparejadas correctamente y conectadas con una linea que llene un número total de celdas igual al número. Las celdas con un número '1' representan caminos de una celda de longitud. Los caminos pueden ser con dirección horizontal o vertical. Los caminos no permiten cruzar otros caminos.
  • Hay una única solución posible de emparejar todos los números en un puzzle bien generado. Cuando se haya completado, se revela una imagen.

Características

  • Las dimensiones de los puzzles (o tableros) pueden ser desde 1x1 hasta 800x800 píxeles.
  • La resolución inicial de la ventana del juego está establecida en 1024x600 píxeles, aunque puede ser redimensionada.
  • Los puzzles pueden ser en color (.json) o en blanco y negro (.csv). Los puzzles ya generados y listos para ser jugados están en el directorio src/puzzles

Controles

  • Se controla mediante un teclado con los siguientes controles:
  • Usar las teclas de direcciones para moverse a traves del puzzle. Si se mantiene presionada la tecla X se podrá mover más rápido.
  • Usar ta tecla ESPACIO mientras se mueve para dibujar una linea entre dos números.
  • Usar la tecla C para eliminar una linea.
  • Usar las teclas - (menos) para alejar la cámara y la tecla + (mas) para restaurar la distancia. No se puede mover o pintar lineas mientras haya un zoom aplicado.

Descarga

  • Binarios (windows, gnu/linux, mac osx) v1.0:
  • Puzzles:
  • Carpeta en dropbox con puzzles ya generados listos para ser jugados.

Generador

  • Se incluye un script generador dentro del directorio src/generator para generar nuevos puzzles a partir de un mapa de bits (.csv o .json). Para usar el generador ejecutaremos el archivo 'main' si se han descargado los binarios o con el siguiente comando en un terminal si se ha descargado el código fuente:
  • python main.py
  • En la interfaz se puede configurar:
  • El número máximo que aparecerá en el puzzle (de 2 a 21).
  • El número de iteraciones sobre cada nñumero. Un mayor número de iteraciones asegura un puzzle mas complejo pero también aumenta considerablemente el tiempo de generación.
  • El puzzle generado temp.json o temp.csv estará localizado dentro del directorio donde hemos ejecutado el comando.

Utilidades

  • Hay incluidas dos utilidades (scripts) en el directorio src/utils para poder convertir una imagen a un mapa de bits (.csv o .json). Los archivos resultantes solo contendrán '1's y estarán listos para ser usados con el generador.
  • Tipos de imagen soportado:
  • JPG,
  • PNG,
  • GIF (no animadas),
  • BMP,
  • PCX,
  • TGA (sin comprimir),
  • TIF,
  • LBM (y PBM, PGM, PPM),
  • XPM
  • Para usar los scripts ejecutaremos el siguiente comando en un terminal:
  • python img_to_csv.py
  • python img_to_json.py

Imágenes

TODO

  • Versión 1.1:
  • Añadir soporte para ratón y mandos.
  • Posibilidad de ponerlo a pantalla completa.
  • Poder dibujar lineas y moverse mientras haya zoom.
  • Opción para que automáticamente rellene los '1's.
  • Añadir mas estadísticas al generador.
  • Botón para ocultar las lineas, números y rectángulos.
  • Botón para mostrar los números en negro.
  • Eliminar las lineas entre las celdas coloreadas para mostrarlo de otra manera.

Enlaces