Page 1 of 1

¿Cuales son tus manías a la hora de programar?

PostPosted: Tue Oct 19, 2010 5:10 pm
by Nightwolf
Pues eso, tal y como hablabamos en otro tema, me pregunto cuales son las manías a la hora de programar. Esas variables con nombre extraño que usamos en cada uno de nuestros programas, o esas funciones que nos hacemos.... etc :)

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Tue Oct 19, 2010 5:31 pm
by Dluk
Bueno, como ya he dicho antes: me niego rotúndamente a usar FROM y FOR, no solo en Gemix, en cualquier otro lenguaje donde estén estas funciones o similares, me niego completamente :P

Otra cosa que cada proceso de mis programas tienen siempre es una variable local llamada estado, no importa que haga el proceso siempre la pongo y la utilizo muchísimo.

Ah, otra cosa que hago desde el SD Smash: cargar tablas de animaciones de forma externa para realizar todas las animaciones con una sola tabla. Por ejemplo, en uno de mis últimos proyectos, está esta función:

Code: Select all
//*********************************************//
//                                             //
//                                             //
//            FUNCION CARGAR TABLA             //
//                                             //
//                                             //
//*********************************************//

FUNCTION cargar_tabla(personaje,estado);
PRIVATE
    inc_anim;
       
BEGIN

    //RESET TABLA
       
    REPEAT
        tabla_animacion[inc_anim]=0;
        inc_anim+=1;
    UNTIL(inc_anim=>SIZEOF(tabla_animacion))


    SWITCH(personaje)
       
        //CARGA TABLAS DEPREDADOR
   
        CASE predator:
            SWITCH(estado)
                CASE normal:
                    load("Data/Predator_1.dat",OFFSET tabla_animacion);
                END

                CASE camina:
                    load("Data/Predator_2.dat",OFFSET tabla_animacion);
                END

                CASE salto:
                    load("Data/Predator_3.dat",OFFSET tabla_animacion);
                END

                CASE caida:
                    load("Data/Predator_4.dat",OFFSET tabla_animacion);
                END                                                 

                CASE movimiento1:
                    load("Data/Predator_5.dat",OFFSET tabla_animacion);
                END               
            END
        END
   
        //FIN CARGA TABLAS DEPREDADOR
           
    END
END


De esta forma, llamando a la función con el nombre del personaje + el estado obtengo la tabla que preciso (que siempre termina en 0, para compprobar donde termina la animación).

Esta manía es un poco más interesante, porque me surgió en las épocas de Win98 + DIV 1 (nucna usé DIV2, siempre el primero). Resulta que la memoria "estática" de DIV 1 era bastante reducida, yo por ese entonces programaba el SD Smash en un Pentium III de 800 MHz (a pesar de que tenía mi viejo Athlon XP 3200+ usaba el Pentium porque en esa PC tenía Win98 y DIV andaba perfecto allí) y un día me di cuenta que cuando había más de 30 procesos activos, el programa moría. Me puse a investigar y noté que cada línea de código, cada variable, tabla estructura que agregara disminuía más este número de procesos máximo. Fue ahí donde tuve que idear este método para poder liberar procesos, lo cual funcionó porque la cantidad máxima aumento a 250 procesos. Y desde ese entonces comencé a incluirlo en cualquier proyecto donde hubiera múltiples personajes, para ocupar menos líneas, menos tablas y quizá hasta tener una mejor optimización.

Saludos (acá aporte bastante, jejeje) :P

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Tue Oct 19, 2010 9:26 pm
by Nowy
puf yo debo tener muchas jeje por ejemplo no tabular, no se porque pero nunca me dio por aprender a tabular y si me lo piden tampoco se hacerlo, otra es ponerle nombres demasiado abreviados a las variables y a los procesos alomejor de 3 letras algunas variables y 5 los procesos, aunque esta la estoy intentando cambiar porque cuando llevo mucho codigo no me entero :lol: .

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 8:07 am
by erkosone
Pues mis manial son practicamente iguales a las de Night jeje.

Jamas usé ni usaré FOR, FROM, REPEAT.... solo WHILE y LOOP.

Todos los procesos tienen la variable ESTADO=0; jeje que luego uso para saber en que fase intermedia se encuentran.

Las animaciones de los procesos, si tienen mas de una animación, siempre son controladas por un proceso externo a ellos y siempre hago esto para ajustar la velocidad de la animación por separado con FRAME(n);

Por lo demás.. intento comentar todo lo que puedo, para luego no tener sorpresas al cabo del tiempo..

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 8:37 am
by TYCO
Pues yo últimamente una manía es usar CONSTANTES para luego aplicarlas y que el código sea más fácil de entender y analizar, usar tabulación de 4 espacios y no recuerdo más manías ahora mismo.

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 10:56 am
by erkosone
Yo en cueantito tenga en las manos la nueva BETA de Gemix la constante qeu voi a usar a fuego va a ser:




FLOAT PI=3.1416;



O MY GOOD!!!!

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 3:40 pm
by Dluk
TYCO wrote:Pues yo últimamente una manía es usar CONSTANTES para luego aplicarlas y que el código sea más fácil de entender y analizar, usar tabulación de 4 espacios y no recuerdo más manías ahora mismo.


Ah, yo también hago eso, por ejemplo, para los estados tengo las constantes normal = 0, camina = 1, salto = 2 y demás. No sé si es una manía esto, a mi me parece más un método eficiente :)

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 3:56 pm
by Nightwolf
Más que manía, pero me gusta a modo de claridad, siempre poner antes del inicio del juego, en modo ventana, el título del juego, la versión y firmado por mi nick :D

Acostumbro a utilizar siempre y a saco REPEAT y LOOP. While hace millones de años que no lo uso... :D

Así como manía tonta, uso mucho el write.... para luego tras el frame, hacer un delete_text...

Una de mis variables que siempre está ahí, es beta, para diferenciar el modo ventana de testeo y modo fullscreen para cuando cuando "deleitarme" de lo que he hecho (que siempre resulta más bonito, adoro el filtro x2 XD) así como evitar tocar sonidos y música (para no cansarme de ellos mientras programo)

Siempre hay una variable local llamada tipo (que lo uso para diferencias los NPC, los diferentes disparos, etc), así como xx,yy para controles diversos :P

Me encanta deformar cosas con size_x, size_y :D

Y ah, para los advance, yxadvance, imprescindible hacer uso de resolution... sino, los disparos en el Game Over serían súmamente bruscos....

Para los sonidos y música uso una cómoda función, que simplemente llamandola con un número, hago que suene un sonido. Luego todos los sonidos los tengo cargados con una tabla tipo:

id_fx[0]=load_sound()...

y luego los llamo con la misma funciona toca(17); ¿Y para la música? musica(2); (si la música 2 actualmente está sonando, pues no recarga nada)

Y sangrar me encanta. Una tabulación nada más, pero queda mucho más mono el código :D

... y supongo que muchas más.... sería gracioso analizar el código fuente de cada uno de nosotros y ver nuestras virtudes y defectos :P

Re: ¿Cuales son tus manías a la hora de programar?

PostPosted: Wed Oct 20, 2010 6:00 pm
by TYCO
Si analizamos porciones de código de cada uno seguro sacamos más manías/ticks/etc

Bueno yo también suelo meter un INT CONTADOR a casi todos los Process, hacer hacer FOR o retardos en los graphs. También uso una tabuñación, pero es de 4 espacios como era en DIV, lo puedes configurar en el IDE.

Antes apenas usaba Repeat, ahora lo uso mucho más, y el While sólo para casos como While (estado == menu_principal) Frame; End.