Re: Intento E Juego De Marcianos
SE me olvidaba.
como hago eso con sdl?
Me gustaría mucho la opinión de el tal Fabian y de como lo haría.
Aber por pedir ...
.
Después algunos se molestan con jguardon por su insistencia en que escribamos bien. A ver si ponemos un poquito de atención al escribir para no cometer errores de niños de 7 años.
Cómo haces eso con SDL... uff es mucho trabajo responder a eso.
El tal Fabián te dice que si realmente querés programar juegos deberías hacerlo mediante programación orientada a objetos, antes de pensar en meterte a fondo con SDL y que te hagas a la idea de que tenés que trabajar muy duro si querés lograrlo.
Miré el programa y me gustó mucho la idea del juego, las imágenes y los sonidos que elegiste. Pero tu código es una mezcla de programación desestructurada, estructurada y POO, por lo que no da muchas ganas de meterse con él (además porque ni siquiera le pones una indentación coherente).
Puedes leer sobre la POO aquí:
http://www.comoprogramarcongambas.b...der-la-poo.html
o en cualquier otro lugar que te plazca. Pero para darte una idea, algunos objetos candidatos en tu juego serían:
- Nave
- Juego
- Laser (que deberías generalizarlo como Armas)
- Bomba
- Detector de colisiones
Algunos detalles:
- Siempre cuando escribís un manejador de eventos tenés que bloquear el objeto al comienzo y desbloquearlo al final.
- Cuando trabajas con controles contenedores (y con objetos en general) tenés que ser cuidadoso para no provocar referencias circulares. Mirá la consola para que veas que tenés algunos mensajes de error allí.
- La configuración de los Timers hacela por código para sea fácil verla y modificarla.
- Diferenciá bien los niveles de dificultad (cantidad de naves enemigas, velocidad de movimiento de los enemigos, cantidad de disparos enemigos, cantidad de minas, etc.)
- Prestá atención a que el juego sea "jugable" antes de añadir características. (1)
- Escribí los casos de prueba que sean necesarios para cada clase antes de continuar, para evitar que con la adición de modificaciones se produzcan errores muy difíciles de comprender. (2)
(1)
La nave del jugador aparece tardíamente.
Los enemigos y sus armas son demasiado rápidos.
La nave del jugador se puede mover hacia la derecha hasta invadir el panel lateral y entonces el juego se cuelga.
(2)
¿La detección de colisiones funciona bien?
¿El área de juego está bien determinada y es infranqueable para los objetos del juego (naves, bombas, etc)?