¿Cuales son tus manías a la hora de programar?
- Nightwolf
- Posts: 3032
- Joined: Tue Oct 07, 2008 3:26 pm
- Location: Aquí mismo.
- Contact:
¿Cuales son tus manías a la hora de programar?
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 
- Dluk
- Posts: 2423
- Joined: Sun Jan 04, 2009 3:51 pm
- Location: En el campo de batalla
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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 
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:
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)
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
ENDEsta 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)

"El destino es como un juego... ¿No? Y ahora, esperas mi último movimiento"
Kain - Legacy of Kain: Soul Reaver
- Nowy
- Posts: 599
- Joined: Sat Oct 04, 2008 11:14 am
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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
.
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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..
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..
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
- TYCO
- Posts: 3611
- Joined: Tue Sep 02, 2008 7:38 pm
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.
Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).
![[RETO]: 20lineas - [JUEGO]: eLaberinto [RETO]: 20lineas - [JUEGO]: eLaberinto](../space/silver_medal.png)
![[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall [CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall](../space/bronze_medal.png)
Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).
![[RETO]: 20lineas - [JUEGO]: eLaberinto [RETO]: 20lineas - [JUEGO]: eLaberinto](../space/silver_medal.png)
![[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall [CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall](../space/bronze_medal.png)
- erkosone
- Posts: 10656
- Joined: Tue Feb 24, 2009 2:13 pm
- Location: Barcelona.
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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!!!!
FLOAT PI=3.1416;
O MY GOOD!!!!
http://iphonegamesdev.com/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
[GEMIX - VIDEO TUTORIALES] http://www.youtube.com/user/fasetconasa
http://gurugameprogramming.blogspot.com.es/
- Dluk
- Posts: 2423
- Joined: Sun Jan 04, 2009 3:51 pm
- Location: En el campo de batalla
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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 eficienteTYCO 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.

"El destino es como un juego... ¿No? Y ahora, esperas mi último movimiento"
Kain - Legacy of Kain: Soul Reaver
- Nightwolf
- Posts: 3032
- Joined: Tue Oct 07, 2008 3:26 pm
- Location: Aquí mismo.
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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 
Acostumbro a utilizar siempre y a saco REPEAT y LOOP. While hace millones de años que no lo uso...
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
Me encanta deformar cosas con size_x, size_y
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
... 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
Acostumbro a utilizar siempre y a saco REPEAT y LOOP. While hace millones de años que no lo uso...
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
Me encanta deformar cosas con size_x, size_y
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
... 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
- TYCO
- Posts: 3611
- Joined: Tue Sep 02, 2008 7:38 pm
- Contact:
Re: ¿Cuales son tus manías a la hora de programar?
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.
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.
Todo Modo Gráfico tiene por detrás una Línea de Comandos.
Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).
![[RETO]: 20lineas - [JUEGO]: eLaberinto [RETO]: 20lineas - [JUEGO]: eLaberinto](../space/silver_medal.png)
![[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall [CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall](../space/bronze_medal.png)
Proyecto: SnowCraft Remake (100%).
Proyecto: Bomb a Bomb Remake (100%).
Proyecto: Rally Mortal (87%).
![[RETO]: 20lineas - [JUEGO]: eLaberinto [RETO]: 20lineas - [JUEGO]: eLaberinto](../space/silver_medal.png)
![[CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall [CONCURSO]: EL JUEGO DEL VERANO 2011 - [JUEGO]: PlayaBall](../space/bronze_medal.png)
