La última linea hace que el mapa cambie de acuerdo al contenido de la variable MAPA.
No quiero entrar en detalle sobre la colisión del mapa aun. Es un poco complicado de explicar porque involucra varias funciones: SPOFS con OUT, SPCHR con OUT, usar DEF y BGGET.
En cuanto a ENDIF. Esto se usa para cerrar un bloque de condición. EJ:
IF A==0 THEN
A=1
? A
? "Entro en la condicion A=0"
ENDIF
1そうだね プレイ済み