\RESPUESTAS -* * ink 15 notdone -* * ISDARK GT 18 19 ; Est  oscuro y pretendemos hacer algo que no sea salir o ; encender la linterna. NOTEQ 18 53 ; 53=verbo encender MESSAGE 87 ; No puedes. DONE ; ************************** SALIDAS CORTADAS O COMENTADAS ********** -* * LT 18 20 IFPROCESS 8 ; Lo he metido todo en un proceso aparte por comodidad DONE ; y claridad ; Ahora voy a simular la rutina de movimiento para poder hacer lo de ; "Te diriges al... " y "No puedes ir al .. Puedes ir al ...." -* * LT 18 20 ; Miro si es verbo de direcci¢n, si no lo es salto PUSH 1 18 ; Preservo el contenido del flag 18 en pila 1 MOVE 1 18 BTST 18 7 ; Compruebo si ha podido moverse POP 1 18 ; En cuyo caso recupero el valor del 18 y paso a describir PUSH 1 100 ; Preservo Flag 100 en pila 1 LET 100 @18 PLUS 100 54 MES 54 ; Todo esto pone el mensaje "Te diriges al..." MES @100 ASCII 46 NEWLINE POP 1 100 ; Recupero flag 100 DESC -* * ; Si no se ha movido y es verbo de direcci¢n LT 18 20 MES 4 ; "No puedes ir al " plus 18 54 mes @18 ; "norte/sur/este/...." minus 18 54 ascii 46 ; PUNTO ascii 32 ; ESPACIO islight exits @1 52 ; muestro salidas posibles si hay luz DONE -* * LT 18 20 ; esto para los que se me escapen por el ISLIGHT DONE ; ************************** COGER ********************* -coger todo ; La entrada COGER TODO ha de ser la 1¦ de las de COGER push 1 100 objat @1 100 notzero 100 pop 1 100 doall @1 process 0 ; Tabla de Respuestas done -coger todo pop 1 100 message 22 done -coger * autog done ; *************************** DEJAR ***************************** -dejar todo ; La entrada DEJAR TODO ha de ser la 1¦ de las de DEJAR push 1 100 objat 254 100 notzero 100 pop 1 100 doall 254 process 0 done -dejar todo pop 1 100 message 21 done -dejar taleg message 85 done -dejar * autod done ; ******************************* CONTROL *************************** -load * load zero 13 process 4; OBJETOS DESC -load * done -save * save done -fin * message 32 cont end -fin * done -credi * push 1 100 clear 100 label buc1 setvline @100 inc 100 jneq buc1 240 100 anykey label buc2 setvline @100 dec 100 jnz buc2 100 setaline 0 pop 1 100 done -reiniciar * clear 13 message 31 cont reset zero 13 clstext wintop process 4 DESC -reiniciar * done -score * turns score done -salidas * exits @1 52 done ; ************************** EXAMINAR ******************** -ex * -mirar * ; Alguien podr¡a poner Mirar Ventana m s bien que EX VENTANA ifprocess 7 ; Uso IFPROCESS porque si entra con MIRAR podr¡a salir con NOTDONE done ; ***************************** VARIOS *************************** -inven * macro inven done -mirar * DESC -usar * ; ANTI ®AVENTURISTAS-GRAFICOS¯ Y ®NEO-AVENTUREROS¯ message 74 ; ¨Usar? ¨C¢mo exactamente? done -meter * prep en objhigh @23 0 ; ES CONTENEDOR EL SEGUNDO OBJETO ? present @9 present @23 ; Ambos presentes noteq 9 @23 ; METER UN OBJETO EN SI MISMO!!! place @9 @23 message 72 0 done -meter * prep en noteq 23 255 ; segundo nombre v lido objhigh @23 0 ; Es contenedor present @23 ; Est  aqu¡ absent @9 ; El objeto a meter no esta!!! message 70 done -meter * prep en noteq 23 255 ; hay un segundo nombre v lido (NO-NONOUN2) objlow @23 0 ; NO ES CONTENEDOR present @23 ; Est  aqu¡ message 76 done -sacar * prep de noteq 23 255 present @23 objhigh @23 0 isat @9 @23 create @9 message 73 0 autog done -encen linte carried 0 objlow 0 15 objset 0 15 message 80 jat nada 6 done -apaga linte carried 0 objhigh 0 15 objclr 0 15 message 81 jat nada 6 done -* * notsame 90 90 ; esta condici¢n est£pida es para asegurarme de que nadie ; entre directamente a esta entrada. Por supuesto nunca se ; cumple. label nada desc -dar hueso -echar hueso at 7 zero 201 carried 4 destroy 4 message 84 set 201 done -ayuda * message 86 done