El funcionamiento del juego es muy simple: Introducimos el nivel de dificultad, pulsamos ENTER y con las teclas cursoras controlamos un asterisco con el que esquivamos los signos de admiración que suben por la pantalla. Al chocar con uno acaba el juego. Todo en una única línea de código.
Visto que es posible, me planteé adaptarlo a otros sistemas y aquí es donde deduje que el BASIC de los candidatos han de cumplir dos condiciones básicas:
1) El comando IF deben soportar el ELSE.
2) El sistema debe permitir líneas de un mínimo de 255 bytes (aprox).
Con éstas condiciones, sistemas como el SPECTRUM, COMMODORE 64 y VIC-20, ORIC-1/ATMOS, entre otros, quedan descartados.
En cambio otros sistemas como el DRAGON/COCO, COMMODORE 16, MSX, ACORN o AMSTRAD CPC lo permiten.
Mi primer planteamiento fue adaptar el programa al ORIC, pero la longitud máxima de la línea BASIC es demasiado corta (80 caracteres, creo recordar), así que opté por el DRAGON, pero como ya he hecho alguna cosilla y en cambio en el Radio Shack TRS-80 CoCo-2 no había hecho nada...
En este sistema, el tamaño de las líneas pueden ser de hasta 255 caracteres, y cambiando alguna dirección de memoria o valor en la lectura del teclado el programa ha funcionado perfectamente.
Aquí tenéis la adaptación:
1 IFI=0THENCLS:PRINT"MISSILE DODGE: LEFT,RIGHT":INPUT"DIFFICULTY";D:CLS:I=1:GOTO1 ELSE FORX=1TOD:
PRINT@479+RND(32),"!";:NEXT:PRINT:P=P+(PEEK(343)=247ANDP>0)-
(PEEK(344)=247ANDP<31):IFPEEK(1024+P)=97THENPRINT"SCORE";S ELSE PRINT@P,"*";:S=S+1:GOTO1