La configuración y el posicionamiento (inicial) de los asteroides, como en el caso de la nave, tiene lugar en la rutina de inicialización, es decir:
Si se observa con detenimiento, esta rutina es muy parecida a la inicialización de la nave (posicionamiento inicial, configuración básica y configuración avanzada), siendo las principales diferencias:
- Se ejecuta en bucle, desde 0 hasta 6, ambos incluidos. Esto es así porque tenemos hasta 7 asteroides. En una versión posterior de esta rutina cambiaremos el enfoque, y sólo inicializaremos los asteroides que estén activos ($01). Ahora mismo los inicializamos todos, los siete.
- No hace falta configurar los colores del multicolor, puesto que estos son compartidos entre todos los sprites multicolor, y ya se están configurando al inicializar la nave.
- En la configuración básica (activación, color y puntero), el puntero se pone apuntando a 200 (200 x 64 = 12.800 = $3200). Esto es así porque en la posición $3200 es donde se importa el “frame” de los asteroides.
- En la configuración avanzada (multicolor, expansión y prioridad sobre los caracteres), la expansión se toma de la tabla “asteroidesExpansion”. Además, una vez que ya se han ajustado los disparos, estos se pintan por debajo de los sprites o, dicho de otro modo, se da prioridad a los sprites sobre los caracteres. Esto también se ha cambiado en “inicializaJugador”.
En definitiva, se trata de una inicialización muy parecida a la de la nave. Sólo cambian algunos detalles y, además, se ejecuta en bucle para los siete asteroides.
Código del proyecto: Asteroids09