Dudas codigo "Cabezon"

Soporte técnico sobre los lanzamientos de MojonTwins y comentarios sobre los güegos. Ofrecemos soporte técnico con Fourspriter, te ayudamos con ZX Basic o Z88DK, te damos pistas some cómo saltarse un bicho y cosas así.

Moderador: na_th_an

salvacam
Mensajes: 10
Registrado: Jue, 06 Oct 2011, 23:26

Dudas codigo "Cabezon"

Mensajepor salvacam » Vie, 21 Oct 2011, 16:28

Estoy echandole un ojo, al código del juego "Cabezon", que perdio el crap combo del 2010,(me niego a poner el nombre completo) y me surgen unas dudas, a ver si las podeis resolver

Código: Seleccionar todo

' zxb -O3 -T -B -a cabezooon.bas

#include once <asc.bas>

#include once <screen.bas>


He leído en la wiki del compilador que la opcion -O que es para el nivel de optimización, ¿que rango tiene? ¿qué optimiza?
vamos que no entieno que hace

que diferencia hay entre #include y #include once.

Me he quedado con la idea de en vez de usar solo los caracteres gráficos, modificar todos los caracteres así no vere corto, la pena que el que estoy desarrollando ya esta el código hecho, a falta de ponerle las fases, y no me apetece retocarlo.

Gracias
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Dudas codigo "Cabezon"

Mensajepor na_th_an » Vie, 21 Oct 2011, 20:30

Supuestamente son optimizaciones sobre el código en ensamblador. Tampoco tengo muy claro qué hacen, pero sí que producen código que a veces es más rápido. Va de 1 a 3. Se pone como opción y no por defecto porque así el compilador tarda muuuucho más en compilar. Supongo que será por eso :D Suelo trabajar sin -O y cuando termino hago un -O3 antes de hacer las últimas pruebas.

#include once singifica "incluye solo una vez". Se suele usar cuando tienes muchos archivos no vaya a ser que el mismo se incluya varias veces por lo que sea. Realmente depende lo que tengas en el archivo que incluyes para que quieras que se repita sí o no. Hay que tener en cuenta que "include" realmente "pega" el cacho de código que incluyes en el sitio donde aparece. Si ese cacho de código es una cacho de código que quieres usar varias veces o algo así, quieres "include". Si el cacho de código es una definición de una función, quieres "include once" o si no te dará un error.

Si quieres seguir usando UDG, recuerda que puedes tener todos los sets que quieras. Sólo pon el POKE que los activa antes de imprimirlos. Cuando pongas el siguiente POKE para activar los siguientes, si ya están en la pantalla, no cambiarán. Si miras el crap game que han entregado como secuela de SQIJ verás que usa mogollón de sets (tiene casi 800 caracteres en total).
Como diría Rorshach: "Urm..."
salvacam
Mensajes: 10
Registrado: Jue, 06 Oct 2011, 23:26

Re: Dudas codigo "Cabezon"

Mensajepor salvacam » Vie, 21 Oct 2011, 22:40

na_th_an escribió:Si quieres seguir usando UDG, recuerda que puedes tener todos los sets que quieras. Sólo pon el POKE que los activa antes de imprimirlos. Cuando pongas el siguiente POKE para activar los siguientes, si ya están en la pantalla, no cambiarán. Si miras el crap game que han entregado como secuela de SQIJ verás que usa mogollón de sets (tiene casi 800 caracteres en total).

El problema podría ser la velocidad, que no se si seria un problema por que no le he probado, si quiero usar 2 ó ḿas set de UDG en una misma pantalla estaría cargando continuamente.
Lo explico mejor, un primer set para cuando se mueva a la derecha y otro distinto para cuando se mueva a la izquierda, otro para cuando va arriba, otro para bajo, con go sub al poke antes del print, no se si seria muy lento lo probare, veo más factible usar todos los caracteres en minúscula para los "UDG" y los textos solo en mayúscula, que además están mas claritos (te acuerdas al principio con los móviles).
Suelo trabajar sin -O y cuando termino hago un -O3 antes de hacer las últimas pruebas.

Sera -O1 o solo -O?
Probare -O3, a ver que tal lo optimiza y si compensa con lo que tarde en compilarlo.

na_th_an escribió:Si el cacho de código es una definición de una función, quieres "include once" o si no te dará un error.

Yo estoy usando aqui:
https://bitbucket.org/salvacam/saltarin/src
#include "funciones.bas" y no me da problema, eso si hay que ser muy fino en el lugar donde colocarlo, despues de que las variables que hay en "funciones.bas" esten declaradas y antes de que las funciones de dentro de "funciones.bas" se empiecen a usar.

Gracias por responder tan rápido, ahora voy pa el otro hilo.
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: Dudas codigo "Cabezon"

Mensajepor na_th_an » Sab, 22 Oct 2011, 18:40

salvacam escribió:El problema podría ser la velocidad, que no se si seria un problema por que no le he probado, si quiero usar 2 ó ḿas set de UDG en una misma pantalla estaría cargando continuamente.
Lo explico mejor, un primer set para cuando se mueva a la derecha y otro distinto para cuando se mueva a la izquierda, otro para cuando va arriba, otro para bajo, con go sub al poke antes del print, no se si seria muy lento lo probare, veo más factible usar todos los caracteres en minúscula para los "UDG" y los textos solo en mayúscula, que además están mas claritos (te acuerdas al principio con los móviles).


No estas "cargando" nada. Un poke solo pone un valor en un par de direcciones de memoria. Solo tarda unos ciclos.
Como diría Rorshach: "Urm..."

Volver a “Ayuda”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado