Detexto los mapas

Estás haciendo un área o un mapa y necesitas ayuda pídela aquí :)
Reglas del Foro
Antes de postear asegurate de conocer las Normas

Detexto los mapas

Notapor Niskir el 19 Jul 2008 02:47

Hace tiempo pregunté si existía alguna utilidad para generar un mapa gráfico a partir de un texto. Nadie parecía conocer ninguna y tampoco tuve suerte buscando por ahí, así que he decidido hacer un pequeño script.

El engendro en cuestión: http://pastebin.com/pastebin.php?dl=m47eeca54

Se ejecuta tal que asina:
Código: Seleccionar todo
perl desc2img.pl < fichero.txt > fichero.png


Para ver cómo se generan los mapas lo mejor son ejemplos.
Ejemplo 1:
Código: Seleccionar todo
# Mapa de ejemplo
# h:nw j:ne k:sw l:se

título Ejemplo de mapa 1
autor Niskir
fecha Año 137, Tercera Era

1 hab Una sala central
1 sal n2 e3 w4 s5
2 hab Septentrión
3 hab Oriente
4 hab Occidente
5 hab Meridión


Sale algo como esto: Imagen
No creo que haya que explicar la sintaxis, de la hab 1 hay salidas en las 4 direcciones principales.

Algo más elaborado:
Código: Seleccionar todo
# Mapa de ejemplo
# h:nw j:ne k:sw l:se

título Ejemplo de mapa 2
autor Niskir
fecha Año 137, Tercera Era

1 hab Una sala central
1 sal n2 e3 w4 s5 j6
2 hab Septentrión
3 hab Oriente
4 hab Occidente
5 hab Meridión
6 hab Habitación nororiental
6 sal e7c
7 hab Cuarto cerrado


Imagen

O sea, que podemos usar las diagonales y una "c" después del número de la habitación indica que ésta está cerrada.

Ejemplo tercero:
Código: Seleccionar todo
# Mapa de ejemplo
# h:nw j:ne k:sw l:se d:abajo u:arriba

título Ejemplo de mapa 3
autor Niskir
fecha Año 137, Tercera Era

1 hab Una sala central
1 sal n2 e3 w4 s5 j6
2 hab Septentrión
3 hab Oriente
3 sal b10
4 hab Occidente
4 sal u9
5 hab Meridión
6 hab Habitación nororiental
6 sal e7c
7 hab Cuarto cerrado
7 sal d8c
8 hab Abajo, dirección sur, cerrado
9 hab Arriba, dirección norte
10 hab Una habitación en otro piso
10 pos -1 -2
10 sal e11
11 hab Sigue la planta baja
11 sal k12c l13
12 hab Suroeste cerrado
13 hab Salida del área
13 sal e14
14 hab A la 2ª parte
14 esp sinborde


Imagen

Lo que significa que "u" y "d" crean salas arriba y abajo, pero situándolas a norte y sur respectivamente. Si queremos hacer pisos usamos "r" y "b", con la salvedad de que hay que indicarle dónde colocar el nuevo nivel con "pos" respecto a la habitación 1. -1 -2 indica una posición a la izda. y dos hacia abajo. La palabra clave "esp" es de "especial" y de momento sólo admite "sinborde", pero si me animo a continuar este aborto tal vez se puedan poner colorines o alguna otra cosilla.

Si hacemos varios pisos los numera automáticamente como en el siguiente ejemplo:
Código: Seleccionar todo
1 hab El origen de todo mal
1 sal r2 b3
2 hab Primera planta
2 pos 0 1
2 sal r4
3 hab Primer nivel del sótano
3 pos 0 -1
3 sal b5
4 hab Segunda planta
4 pos 0 2
5 hab Segundo nivel del sótano
5 pos 0 -2


Imagen

Por último una versión de Villa Enana, que no digo yo que sea mejor que la original, pero se crea en un momento ¡y sin tener que tocar el ratón, que siempre se me descoloca con el alzheimer!

Código: Seleccionar todo
# Villa Enana
# h:nw j:ne k:sw l:se

título Villa Enana
autor Cartógrafo anónimo (reedición Niskir)
fecha Año 137, Tercera Era

1 hab Sendero en la Villa Enana
1 sal n2
2 hab Sendero cerca de las montañas
2 sal n3
3 hab Sendero subiendo las montañas
3 sal n4
4 hab Cima de las montañas
4 sal w5 e6
5 hab Una puerta en las montañas
5 sal w7c
6 hab Camino oscuro
6 sal n8 e9c
7 hab En la entrada del castillo
7 sal w23 n24
8 hab Un largo camino estrecho
8 sal n35
9 hab Entrando en la mina
9 sal d10
10 hab Dentro de la mina
10 sal d11
11 hab Salida de la mina
11 sal e12
12 hab Camino en la mina
12 sal e13
13 hab Cruce en la mina
13 sal n14c e15 s16
14 hab Laberinto de la mina
14 sal e17
15 hab Cuarto de carbón
16 hab Almacén de equipo
17 hab Inscripción en el laberinto
17 sal n18
18 hab Laberinto
18 sal n19
19 hab Laberinto
19 sal n20
20 hab Laberinto
20 sal w21
21 hab Solución al laberinto
21 sal w22
22 hab Cuarto del guardián
23 hab Un almacén
24 hab Un camino
24 sal n25
25 hab Parado en el camino
25 sal w26
26 hab Tienda de Hide & Thoot
26 sal n27
27 hab Hacia el norte de las tiendas
27 sal n28
28 hab Norte de las tiendas
28 sal e29
29 hab Camino al hospital
29 sal n30 e31
30 hab El hospital enano
31 hab Camino cerca de las barracas
31 sal e32
32 hab Entrada a las barracas
32 sal s33c
33 hab Primer cuarto de las barracas
33 sal s34
34 hab Detrás de las barracas
35 hab Un largo camino estrecho
35 sal n36
36 hab Viraje en la ruta estrecha
36 sal e37
37 hab Viraje en la ruta estrecha
37 sal n38
38 hab A través del camino del norte y del sur
38 sal n39
39 hab Las puertas del reino
39 sal w40 e41c
40 hab Una casa de guardia
41 hab Camino del castillo
41 sal n42
42 hab Camino al castillo
42 sal n43
43 hab Puertas del castillo
43 sal e44c
44 hab Dentro del castillo Strangelove
44 sal r45
45 hab Escaleras
45 sal u46
45 pos 4 7
46 hab Escaleras
46 sal u47
47 hab Arriba de la escalera
47 sal e48
48 hab Sala de espera
48 sal n49c
49 hab El dormitorio


Imagen

Güarning y discláimer:
  • Se necesita el módulo Perl-GD.
  • Esto está hecho rápido, mal, y de una sentada. Seguramente os explote en la cara y viole al canario.
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Rilke el 19 Jul 2008 15:09

:O
Impresionante

Lo iremos probando...
Avatar de Usuario
Rilke
 
Mensajes: 412
Registrado: 17 May 2004 23:11
Ubicación: Bosque de Kedrova

Re: Detexto los mapas

Notapor Lorac el 19 Jul 2008 15:52

Jodó tio si que te aburres xDD

Muy wapo
Avatar de Usuario
Lorac
Inmortal
 
Mensajes: 967
Registrado: 09 Nov 2004 15:24
Ubicación: España

Re: Detexto los mapas

Notapor Niskir el 19 Jul 2008 19:36

Lorac escribió:Jodó tio si que te aburres xDD


El código es lo que más disimula cuando se supone que tienes que estar escribiendo... código. Pero ahora, que lo dices, sí, resulta algo triste XD

Pues nada, hasta el lunes no saco una versión con algunas mejoras que tengo en mente, que esta noche me agarro un pedal (el equivalente vasco a "sábado, sabadete...") XD
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Dorgon el 20 Jul 2008 01:41

xDDD aqui perdon que suene muy noob pero, lo baje y ni idea como diablos se ejecuta-instala-lo que sea... nomas me sale un block de notas...
Si hasta yo me doy cuenta de lo tonto que suena, pero prefiero que se burlen de mi a quedarme con la duda... que le hago a eso?
Dorgon
 
Mensajes: 38
Registrado: 12 May 2008 23:31

Re: Detexto los mapas

Notapor Niskir el 20 Jul 2008 17:59

Dorgon, se me olvidó comentar que es un script en perl, o sea, que necesitas perl (y el módulo perl-gd) instalado en el sistema.

Si usas algún derivado de Unix la cosa se limita a ejecutar "apt-get install perl-gd, pacman -S perl-gd, emerge perl-gd..." o como se llame el gestor de soft de tu sistema.

Si usas Windows no sé exactamente, pero sé que es posible porque alguna vez he usado perl en esta plataforma (¡donde me pagaban por escribir chapuzas como esta! :D), pero yo no tenía permisos de administrador, simplemente me limitaba a vomitar código y otra gente se ocupaba de la administración. A ver si alguien que lo use lo puede comentar, o de momento puedes empezar por aquí.

Edit: me acabo de fijar que el primer enlace que aparece en Google incluye una instalación de Apache. NO hace falta poner Apache para ejecutar este script, sólo perl y el módulo GD (más sobre módulos si alguien se anima a instalar el cotarro y pregunta).
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Dorgon el 20 Jul 2008 18:21

Vaya gracias por las paginas...
si de hecho uso windows, y no entendí casi nada de lo que dijiste para ser sincero... pero bueno a fin de cuentas eso no importa, en los link que dabas(gracias por cierto) vienen dos programas para instalar antes del perl, para dos versiones de windows diferentes, y por prueba y error, ninguna es apta para el XP, asi que me rindo y los hago con editor de imagen :(
Igual gracias, a ver si algun dia aprendo a usar esas cosas
Dorgon
 
Mensajes: 38
Registrado: 12 May 2008 23:31

Re: Detexto los mapas

Notapor Niskir el 20 Jul 2008 18:37

No he podido resistirme y aquí estoy, ¡aprogramando con resaca! XD

La nueva versión: http://pastebin.com/pastebin.php?dl=m101c4dd0

Las novedades más o menos "se explican solas" (o sea, que me da pereza explicarlas yo).
Código: Seleccionar todo
titulo Novedades

1 hab Prima
1 sal e2 j9
1 esp borde3
1 not l borde3: Perímetro con más grosor.
2 hab Segunda
2 sal e3
2 esp horiz
2 not s horiz: Línea horizontal.
3 hab Tercia
3 sal n4
4 hab Cuarta
4 sal n5
4 esp vert
4 not w vert: Línea vertical.
5 hab Quinta
5 sal w6 e10
6 hab Sexta
6 sal w7
7 hab Séptima
7 sal s8
8 hab Octava
9 hab Nona
9 not e Esta habitación no cabría si la 2ª y 3ª no fuesen líneas.
10 hab Hacia un cruce confuso
10 sal e11 l12
11 hab Norte del cruce
11 sal e13
#11 esp horiz
12 hab el cruce
12 sal e14 w15 k16 l17 j13
12 esp horiz nesw senw
12 not n horiz, nesw y senw.
13 hab Noreste del cruce
13 sal s14
14 hab Este del cruce
14 sal s17
15 hab Oeste del cruce
15 sal s16
16 hab Sureste del cruce
16 sal e18
16 esp fuente:Times:bold
16 not l fuente:Times:bold
17 hab Suroeste del cruce
17 sal w18
17 esp fuente:Times:italic
17 not l fuente:Times:italic
18 hab Sur del cruce


Produce esto:
Imagen

Creo que ahora se podría incluso mapear Belthalas, si alguien tuviese la santa paciencia.

Coming soon (o no): poder poner las habitaciones en cualquier orden numérico.
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Niskir el 20 Jul 2008 20:17

Dorgon, no te rindas tan rápido. A ver si aparece alguien que use perl en Windows. Y si no, puede ser una buena excusa para probar alguna distro de Linux (Kubuntu está bien para empezar).
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Naghem el 21 Jul 2008 19:33

Hola, no he podido resistirme a responder porque yo tuve que usarlo en windows y no es nada complicado, sólo instalar el activeperl y listo. Sería una pena perderse todo el curro de los mapas por eso, no sé nada de perl, pero admiro a quienes lo manejan (como me dijo una vez un colega, si con eso se hizo APT...)

Al lío, vas a la web de Active perl aquí (está en inglés pero te digo donde tienes que ir), es gratis, a no ser que te haga ilusión que te manden un dvd:

http://www.activestate.com/store/activeperl/download/

Pasas de introducir datos si no te interesa y pulsas donde pone:
Continue


Te bajas este (no usas 64bits supongo), el MSI (significa instalador de microsoft más o menos)
Download ActivePerl 5.10.0.1003
for Windows (x86):
MSI - 15.4MB


Y son 16.5 Mb, un ratito con adsl. Lo instalas y a volar, ya se interpretan los scripts de perl.

Suerte!
Naghem
 
Mensajes: 3
Registrado: 21 Jul 2008 19:20

Re: Detexto los mapas

Notapor Niskir el 21 Jul 2008 23:36

Gracias por la info, Naghem. Mirando por la web de activestate me he encontrado con esto: http://aspn.activestate.com/ASPN/Downlo ... Repository

Al final de la página explica cómo instalar el módulo GD, necesario para la creación de mapas.
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Dorgon el 22 Jul 2008 00:19

Hola xD otra duda de noobs...
bueno primero que nada ya logre que sirviera el programita xDDD seeeh wiiiiiiii
Sale como el programa ese que nunca he sabido usar de simbolo de sistema... bueno eso no importa el programa ese si lo entendi ^^ solo no se como le hago para que me guarde el mapa xDD alguien me dice? y ahi perdonen de nuevo que es que no se de estas cosas raras @.@
Dorgon
 
Mensajes: 38
Registrado: 12 May 2008 23:31

Re: Detexto los mapas

Notapor Niskir el 22 Jul 2008 02:57

Abre tu editor de texto favorito (notepad, edit o el que sea). Copia y pega cualquiera de los ejemplos que aparecen en este hilo y lo grabas con el original nombre de "mapa.txt", por ejemplo. Sólo asegúrate de que es un texto normal, no doc ni nada parecido, y grábalo en el mismo sitio que esté el script (el archivo .pl). Luego ejecutas desde el símbolo del sistema, en el directorio donde hayas grabado ambos ficheros: "perl desc2img.pl < mapa.txt > mapa.png" (como pastebin no conserva el nombre del archivo es posible que tu script se llame m101c4dd0.pl, lo cambias o lo dejas como mejor te parezca). Tras algunos mensajes informativos (nº de habitaciones, dimensiones de la imagen...) debería aparecer en ese directorio el fichero mapa.png, que puedes abrir con un visor/editor de imágenes cualquiera, o con un navegador web.

Para ir poniendo habitaciones vas editando y grabando el texto, ejecutas el script y al recargar la imagen deberías ver los cambios. Y si te sale algo interesante lo publicas por aquí ;)
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Niskir el 25 Jul 2008 23:18

Otra vuelta de tuerca: http://pastebin.com/pastebin.php?dl=m432fcfb1

  • Los números de las habitaciones pueden ir en cualquier orden. La única excepción es la 1ª (tiene que ser la 1), ya que se usa como origen de coordenadas y si no se hace la picha un lío.
  • Se pueden poner colores en la línea "esp", con "fondo:" y "tinta:" seguido del color en formato RGB hexadecimal.
  • Para ser más coherente con lo demás se ha cambiado "borde(nº)" por "borde:nº", aunque sigue reconociendo la forma anterior.

Como siempre, el ejemplo y el resultado:
Código: Seleccionar todo
título Colores y orden
1 hab La primera tiene que ser 1
1 sal s17 e3 b2
1 esp fondo:ff0000 tinta:ffffff fuente:Times:bold
17 hab Habitación 17
17 sal w5
17 esp fondo:FFA54F
3 hab Habitación 3
3 sal s4
3 esp fondo:66FF33 tinta:003333
5 hab La Quinta
2 hab Una noche negra
2 pos -1 -2
2 esp fondo:000000 tinta:aaaaaa
4 hab línea
4 sal s6
4 esp vert
6 hab Otra
6 sal w7 r8
7 hab Otra más
7 sal w2
8 hab Arriba de otra
8 pos -1 0
8 sal e1
8 esp fuente:Times:bold tinta:660000


Imagen

Como es bien sabido, más mariconadillas=más errores, así que si estáis con un mapa que no sale como se supone que debería, ponedlo por aquí para ir depurando.
Niskir
 
Mensajes: 280
Registrado: 07 Jul 2007 03:31

Re: Detexto los mapas

Notapor Durgeoble el 30 Jul 2008 23:03

seria ideal que reconociera el codigo base de los mapas de esa forma una simple pasada por esto te generaria un mapa.

A mi me iria genial para "ver" un laberinto que estoy haciendo
Mi campaña:
No a que el questman remarque objetos.
Que no se conviertan en objetos de comercio.
Imagen
Durgeoble
 
Mensajes: 172
Registrado: 10 Abr 2006 01:04

Siguiente


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 4 invitados


cron