Yo lo mire muy por encima el listado (es dificil listar con el comando list y el break, perdi la costumbre), por eso tengo algunas dudas:Bueno, sigo para el traste con esto, me está desesperanzando. Tire gotos por todos lados, volvi al medio de la rutina para probar, no entiendo cual es el drama, realmente no lo entiendo.
Yo pruebo lo que me decis, pero no pasa nada, ademas al principio del programa pongo la colision en 0, haciendo COLLISION 1 y COLLISION 2. Ese no me parece que sea el problema, ya que la colision funciona, cada vez que colisiono cuenta, no puede ser (creo) que el BASIC piense que esta dentro de la primera, si ya pasaron 50 colisiones, no se si me explico ? El juego termina cuando chocas 50 veces o cuando te la pegas contra otro sprite, en este caso al final del laberinto. Ganando, o perdiendo, el problema persiste.El problema es el GOTO5 en lugar de RETURN, el manual dice que solo salta a la linea de COLLISION de a una colisión por vez, no hay concurrencia ni recursión, por eso al hacer GOTO en vez de RETURN, el BASIC todavia piensa que esta dentro de la primera colisión que detecto y no le da bola a las siguientes.
30 C=50:GS=0
...
5010 COLLISION1,35000
10100 ON GS GOTO30000,40000
10101 GOTO10000:REM LOOP MUEVE
...
20000 IFC=0THENRETURN
20001 SOUND1,4096,10
...
20050 IFC=0THENGS=1
20100 RETURN
...
35000 GS=2:RETURN