Bueno, ya esta arreglado la mayor parte del desaguisado...
Esta como al principio pero ademas con la parte de los mapas funcional :)
Ahora voy a hacer grupos, que podran ser grupos de naves, de balas... Un grupo sera un conjunto de elementos que se pintan y que se mueven juntos, de ese modo eliminare el problema de redondeo que tenia con los laseres.
Tambien voy a hacer que la estrategia para alcanzar el objetivo (la estrategia de ataque) se adquiera por herencia, aprovechando la herencia multiple de python, en vez de tener un objeto, tiene mas logica y queda mas reutilizable...
El tema de el mundo y el screen ira un poco mas tarde.
lunes, 29 de marzo de 2010
jueves, 25 de marzo de 2010
Una tarde?????
Creia que iba a conseguir meter los mapas en una tarde... Y hasta hoy....
Ha costado, mas que el tema del mapa y las squads (que si que estaba practicamente implementado) el poder hacer factorias de objetos, se me han ocurrido diferentes estructuras que me iban gustando de mas a menos segun avanzaba el tiempo...
Al final me he decidido pq cada objeto (nave o bala) tenga como propiedad cual es el 'paraiso' al que tiene que ir cuando muera....
En fin, que he hecho una clase 'reciclador' que es la encargada de generar todos los objetos y reciclar los antiguos. Este reciclador tendra caches de todos los tipos de objeto y cuando le pidan uno de algun tipo especifico reciclara un objeto o creara uno nuevo. Cuando este objeto muera le informara al reciclador de que debe reciclarlo.
Cuando se reviva, el objeto pasara a formar parte de un container (uno diferente para amigos y enemigos) en el cual se le clasificara por nave o disparo (para calcular las colisiones mas eficientemente).
Funciona con peros:
- Aun no esta desarrollada la funcionalidad de 'morir' ya que no he activado las colisiones, de hecho quiero separar los conceptos 'mundo' donde se desarrolla el juego de 'screen' que seria lo que se muestra por pantalla y esto afectara, en cierto modo, a la destruccion de objetos...
- Hay codigo duplicado
- Tengo unexceso de constantes y de codigo spaguetti, debido tal vez a que hay ciertos contenedores de protocolos entre diferentes objetos... En un principio no le veo mucha alternativa y podria parecerme hasta normal... pero no me gusta... a ver si se puede cambiar...
Bueno, aun asi estoy medianamente contento: Con los mapas y las animaciones practicamente he cambiado todo el programa, asi que es normal que me haya cosatado tanto.
Suscribirse a:
Entradas (Atom)