8BP: A través de ROUTESP, podemos colocar un Sprite en mitad de una ruta
Seguimos aprendiendo con el curso de 8bp

Hola amigos de 8 bits de poder. en este capítulo de nuestro curso veremos cómo colocar un sprite en mitad de una ruta con el comando ROUTESP, para nuestro futuro juego en el Amstrad CPC, sencillo, fácil y para toda la familia… ¡Vamos al lío!
Si asignas a varios sprites la misma ruta y quieres que vayan todos en fila india como el ejemplo anterior, entonces necesitas ingeniárselas para que cada Sprite se encuentre en un punto diferente de la ruta. Para ello existe puedes usar dos alternativas
La primera consiste en ir asignando poco a poco la ruta a los sprites. De ese modo, el sprite que va en cabeza es el primero en ser enrutado y tras unos cuantos ciclos de juego enrutas al siguiente y mas tarde al siguiente, etc. En cada ciclo ejecutas AUTOALL,1 y eso enruta a los sprites que ya tengan ruta asignada, que se van adelantando en el numero de pasos respecto de los sprites que aun no la tienen asignada.
Uso del comando ROUTESP
La segunda opción consiste en usar el el comando ROUTESP
|ROUTESP, <spriteid>, <pasos>
Este comando mueve un sprite el número de pasos que desees (hasta 255 pasos) a lo largo de la ruta que tenga asignada. En el ejemplo he destacado en rojo la asignación de la ruta 8 y los comandos ROUTESP que posicionan cada uno de los sprites en la ruta.

Pero espera… ¿Es posible que no sepas nada de 8 Bits de Poder? Puedes leer el primer artículo del curso de programación en Amstrad CPC de 8BP.
10 memory 23999 10 ON BREAK GOSUB 12 11 GOTO 20 12 |MUSIC:CALL &BC02:PAPER 0:PEN 1:MODE 1:END 20 CALL &BC02:DEFINT A-Z:MODE 0 50 CALL &6B78 70 ' todas las naves colocada en la misma coordenada inicial 75 ' y con la misma ruta pero con un numero inicial de pasos distinto 76 locate 2,3: Print "comando |ROUTESP " 80 for s=16 to 21: |SETUPSP,s,9,33: |SETUPSP,s,0,137: |SETUPSP,s,15,8:|LOCATESP,s,20,100:next 90 s=21:|ROUTESP,s,40:'nave cabeza 100 s=20:|ROUTESP,s,30 110 s=19:|ROUTESP,s,20 120 s=18:|ROUTESP,s,10 130 s=17:|ROUTESP,s,0 131 |PRINTSPALL,0,0,0 140 '--- ciclo de juego --- 150 |AUTOALL,1:|PRINTSPALL 160 goto 150

La ruta 8 estaría definida en el fichero routes_mygame.asm tal como sigue:
ROUTE8; db 255, 128+64+32+8+1,0; cambio de estado db 70,1,-1 db 10,3,-1 db 5,3,0 db 5,3,1 db 5,0,1 db 20,-3,1 db 5,0,1 db 5,3,1 db 5,3,0 db 10,3,-1 db 5,0,-1 db 20,-3,-1 db 40,-1,-1 ; recolocacion db 1,0,115 db 1,-30,0 db 120,0,0 db 120,0,0 db 0
En la siguiente entrega del curso veremos cómo crear rutas avanzadas con 8BP.
Hasta aquí hemos llegado por hoy con el curso de programación en Amstrad CPC de 8 bits de poder Si tienes alguna duda puedes escribir en comentarios y te contestaré lo antes posible.
Todos los recursos, como manuales, ejemplos y juegos compilados de este curso los puedes encontrar en el repositorio Github de 8BP.
Hasta la semana que viene amigos 😄