Página 1 de 2

Mappy para basic

Publicado: Vie, 21 Oct 2011, 16:54
por salvacam
Buenas:
Estoy usando el mappy, gracias a la explicación que tenéis en la web, para definir la posición de los elementos en pantalla, no para dibujarlo, lo exporto a un fichero de texto que después paso a un array que con un par de for y con uno if elseif me va dibujando según el numero que tenga un elemento.
Si quiero dibujar varias fases, las dibujo en vertical una encima de otra, poniendo al final de cada fase un linea llena de un elemento que no uso, esto solo por facilidad por ver que linea separa cada fase.
Pongo una imagen
Image
Al exportar como texto me da un archivo como este
$this->bbcode_second_pass_code('', 'const short saltarin_0a9_map0[110][30] = {

{ 0, 0, 0, 0, 0, 0, 0, 8, 0, 4, 0, 0, 0, 0, 0, 0,

4, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 5, 9, 0, 0, 5, 0, 0, 0 },

{ 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 2, 2, 2, 2, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2,

2, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,

1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2, 2 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,

0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 },

{ 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,

2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7 },

{ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 },
.
.
.
.
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 2, 3, 3, 3, 3, 3, 3, 2, 0, 0, 0,

15, 0, 2, 3, 3, 3, 3, 3, 2, 0, 0, 0, 0, 0 },

{ 2, 2, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 },

{ 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 2, 2, 2, 0, 0, 1, 3, 3, 3, 3, 3, 3, 2, 0, 0, 0,

0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0,

0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 9, 3, 0, 0, 0,

0, 0, 3, 9, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1 },

{ 0, 0, 0, 0, 0, 1, 3, 3, 3, 3, 3, 3, 1, 0, 12, 0,

0, 0, 1, 3, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0 },

{ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 }

};')
que lo puedo editar y tengo el array el problema es que se me ha ocurrido, para un futuro que no sean fases independientes que sea una continuación de la otra, por ejemplo esto
Image
Me da este codigo:
$this->bbcode_second_pass_code('', 'const short saltarin_0a9_map0[11][60] = {

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 8, 0, 4, 0, 0, 0, 0, 3, 0, 4,

9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,

0, 0, 0, 0, 0, 5, 9, 0, 0, 5, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1,

1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,

2, 2, 2, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 3, 0, 0,

0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 3, 1, 1,

1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 2, 2, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,

0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0,

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },

{ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,

17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 }

};

')
Aqui ya no es tan fácil modificar para usarlo pantalla por pantalla.

¿Hay alguna opción para que el código sea exportado por pantalla a pantalla? Que no me coga un a línea entera, sola hasta la división.
Perdón por el tocho :zzz:

Re: Mappy para basic

Publicado: Vie, 21 Oct 2011, 20:24
por na_th_an
Si exportas en formato .MAP binario, te ordena el mapa por filas y no por pantallas. Pero en la churrera tenemos un pequeño programilla que, precisamente, te reordena las pantallas. Ahora no lo tengo a mano, pero el lunes lo pongo.

Re: Mappy para basic

Publicado: Vie, 21 Oct 2011, 23:00
por salvacam
$this->bbcode_second_pass_quote('na_th_an', 'S')i exportas en formato .MAP binario, te ordena el mapa por filas y no por pantallas. Pero en la churrera tenemos un pequeño programilla que, precisamente, te reordena las pantallas. Ahora no lo tengo a mano, pero el lunes lo pongo.

Y como edito el archivo .map o saco la informacion para usarlar en Basic?

Se me ha ocurrido usar el metodo de la línea a eliminar abajo tambien a la izquierda.
Dibujo esto
Image
Dando algo parecido a esto:
$this->bbcode_second_pass_code('', 'const short saltarin_0a9_map0[11][60] = {
{ 18, 0, 8, 0, 4, 0, 0, 0, 0, 0, 0,
4, 9, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0,0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 2, 2, 2, 2, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2,
2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6 },
{ 18, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3 },
{ 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 },
{ 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17 }
};
')
con esto la línea de la derecha es el 18 y con el vi le dijo que cambie "{ 18," por "{" y " 18, " lo cambie por " },_ (salto de linea) {" pero claro lo suyo sería algo más automatizado. Todavía no lo he probado pero es una idea.

A ver si con ese programilla puedo hacer algo, no hay ninguna prisa por que para este caso no he empezado aun, me queda por terminar el saltarin, si quereis probar la demo aqui la pongo:
http://wingedbox.com/downloads/16617/preview
en un principio esta acabado a falta de pulir las fases y añadir muchassss más.

Un saludo.

Re: Mappy para basic

Publicado: Sab, 22 Oct 2011, 18:38
por na_th_an
Lo suyo es trabajar almacenándolo todo en FMP y cuando termines y vayas a importarlo al juego lo grabas como MAP. Si usas nuestra versiónd e Mappy, está configurada para que el MAP guarde los archivos en binario con un byte por tile, lo cual es la mínima expresión. Con eso como base, usas nuestra pequeña utilidad mapcnv.exe a la cual le especificas los parámetros del mapa (alto, ancho, alto y ancho en tiles de cada pantalla, etc) y te lo reordena y exporta en un archivo de texto.

El lunes te lo subo con instrucciones.

Re: Mappy para basic

Publicado: Mié, 02 Nov 2011, 23:16
por salvacam
$this->bbcode_second_pass_quote('na_th_an', 'E')l lunes te lo subo con instrucciones.


Tu boca firma cheques que tu cuerpo no puede pagar.

Aunque no me corre prisa tenlo en mente, ahora el siguiente con el que estoy no necesito el mappy, cuando lo acabe te metere más prisa. :roll: :bronca:

Un saludo. :corchoneta:

Re: Mappy para basic

Publicado: Jue, 03 Nov 2011, 08:41
por na_th_an
¿Pero es que se ha puesto de moda usar esa frase? Es la quinta vez que la "oigo" desde el lunes.

Aquí lo tienes. Echa código C, pero se puede convertir fácilmente a lo que sea con un buen editor de texto que te permita remplazar usando expresiones regulares.

$this->bbcode_second_pass_code('', 'mapcnv mapa.map map_w map_h scr_w scr_h lock [packed]')

map_w y map_h representan la anchura y altura del mapa, en pantallas.

scr_w y scr_h representan la anchura y la altura de cada pantalla, en tiles.

lock es el número del tile cerrojo. Esto es de la churrera. Tú ponle aquí un valor fuera de rango y listos.

packed, si se incluye, hace que sólo pueda haber 16 tiles diferentes, pero que se codifiquen dos por cada byte, con lo que el mapa ocupará la mitad. Si lo omites, te sacará un byte por tile.

mapa.map debe ser el mapa exportado desde mappy en formato binario sin cabeceras y con un byte por tile. Si usas nuestra versión de mappy, simplemente salvando tu mapa como "map" debería exportarlo en el formato correcto.

Re: Mappy para basic

Publicado: Jue, 03 Nov 2011, 23:28
por salvacam
Gracias na_th_an lo he probado y me viene estupendo, tendre que editar algo pero ya no es tanto.

$this->bbcode_second_pass_quote('na_th_an', 'Â')¿Pero es que se ha puesto de moda usar esa frase? Es la quinta vez que la "oigo" desde el lunes.

No exageres tanto, si no has hablado con tanta gente ni en lo que llevamos de mes. :ayayay:
Yo la escuche hace muchos años en una pelicula "Con el arma a punto", lo mismo la han puesto hace poco.

Un salido. :tits:

Re: Mappy para basic

Publicado: Vie, 04 Nov 2011, 09:10
por na_th_an
Sale también (aunque con modificaciones) en la chaqueta metálica o en hot shots, que sí que pusieron este fin de semana :lol:

Sobre editar, píllate un buen editor de textos que permita sustituir por expresiones regulares y no tendrás que tocar ni una coma. En serio, no sé como podía vivir yo antes sin esto :-D

Aunque espera...

Creo que me hice un mapcnv adaptado a BASIC para un proyecto que no terminamos a tiempo para el concurso de Radastán... Voy a buscarlo.

Re: Mappy para basic

Publicado: Vie, 04 Nov 2011, 09:13
por na_th_an
¡Bingo! :lol: Yo sabía que lo había hecho. mapcnvZXB Se maneja igual, pero saca código BASIC. Corre la voz si quieres, esto le puede venir bien a más gente que está programando en Basic usando el compilador de Boriel :-)

Por cierto, ¿le has echado un ojo al fourspriter? En este mismo foro... E incluido con la distribución oficial de ZX Basic.

Re: Mappy para basic

Publicado: Sab, 05 Nov 2011, 21:01
por salvacam
Gracias, este tiene mejor salida.

$this->bbcode_second_pass_quote('na_th_an', 'P')or cierto, ¿le has echado un ojo al fourspriter? En este mismo foro... E incluido con la distribución oficial de ZX Basic.

Lo mire hace tiempo y la verdad no me entere como usarlo, la verdad que estaría bien usarlo por que el ejemplo que trae esta estupendo. Cuando pueda lo miro con más tranquilidad y te comento las dudas que me salgan.