100 REM ****************************** 102 REM ***** C O M E C O C O S ****** 104 REM ******=================******* 106 REM ******* (C) 1986-2007 ******** 107 REM ** Grupo Camer / AmiSpaTra *** 108 REM ****************************** 110 REM *** (C) Damaso D. Estevez **** 112 REM ****************************** 114 : 116 : 120 REM ######## CARATULA ########## 125 PRINT CHR$(11);PRESET(3,0) 130 A=13312:POKEA,12:POKEA+39,12 135 A=14272:POKEA,12:POKEA+39,12 140 FOR A=0 TO 4:PRINT:NEXT A 145 PRINT " PPPP AAA CCCC M M AAA N N" 150 PRINT " P P A A C MM MM A A N N" 155 PRINT " P P A A C M M M A A NN N" 160 PRINT " P P A A C M M M A A N N N" 165 PRINT " PPPP AAAAAA C M M AAAAA N NN" 170 PRINT " P AA AA C M M AA AA N N" 175 PRINT " P A A C M M A A N N" 180 PRINT " P A A C M M A A N N" 185 PRINT " P A A CCCC M M A A N N" 190 FOR A=0 TO 5:PRINT:NEXT A 195 PRINT CHR$(5);" Version AQUARIUS 20 Kb. Grupo CAMER":PRESET(3,68) 200 : 205 : 210 : 215 REM >>> Acompanamiento sonoro <<< 220 FOR A=1 TO 20:READ B,C:SOUND(B,C):NEXT A:CLEAR 255:RESTORE 270 225 : 230 DATA 90,20,70,25,90,20,70,40,100,50,80,20,60,25,80,25,60,40,90,50 235 DATA 90,20,70,25,90,25,70,40,100,50,80,20,65,20,40,20,30,20,20,25 240 : 245 : 250 REM >> Lectura RECORDS defecto << 255 DIM TB$(7,1),MC(4,1) 260 FOR A=2 TO 7:READ TB$(A,0),TB$(A,1):NEXT A 265 : 270 DATA "","Graficos","","y sonido",""," de " 275 DATA ""," ---- ",""," D.D.E. ",""," (AST) " 280 : 285 : 290 REM #### TABLA DE RECORDS #### 295 PRINT CHR$(11);:A$="........" 300 PRINT TAB(11);"TABLA DE RECORDS" 305 PRINT TAB(11);"===== == =======" 310 FOR A=0 TO 3:PRINT:NEXT A 315 FOR A=2 TO 7:PRINTTAB(6);A-1;")" 320 PRINT" ";RIGHT$(A$+TB$(A,0),8);SPC(6);LEFT$(TB$(A,1)+A$,8):PRINT:NEXT 325 PRINT:PRINT:PRESET(3,62) 330 : 335 FOR A=2 TO 7:A$=TB$(1,0):B$=TB$(A,0):IF VAL(A$)>VAL(B$) THEN C=7 340 IF VAL(A$)>VAL(B$) THEN TB$(C,0)=TB$(C-1,0):TB$(C,1)=TB$(C-1,1) 345 IF VAL(A$)>VAL(B$) AND C>A+1 THEN C=C-1:GOTO 340 350 IF VAL(A$)>VAL(B$) THEN TB$(A,0)=TB$(1,0):TB$(1,0)="":B=A:A=7 355 SOUND(100-A*10,10):NEXT A:PREET(3,64):REM >> Reordenando RECORDS << 360 : 365 IF B<>0 THEN INPUT "Iniciales (max. 8)";TB$(B,1):B=0:GOTO 295 370 : 372 J=1 375 TB$(0,0)="0":TB$(0,1)="2" 380 TB$(1,0)="0";TB$(1,1)="0" 385 : 390 A$=INKEY$:IF A$="" THEN GOTO 390 395 : 400 : 405 REM #### TRAZADO PANTALLA #### 410 TB$(0,0)=STR$(VAL(TB$(0,0))+1):IF VAL(TB$(0,0))>20 THEN TB$(0,0)="18" 415 MC(1,0)=8:MC(2,0)=9:MC(1,1)=8:MC(2,1)=6:MC(3,0)=70:MC(3,1)=102 420 MC(0,0)=12421+MC(1,0)+MC(2,0)*40:MC(0,1)=12421+MC(1,1)+MC(2,1)*40 425 MC(4,0)=0:MC(4,1)=127:A$="" 430 : 435 PRINT CHR$(11):PRINT:C$="":D$="":A$="":B$="" 440 A$=CHR$(198):B$=CHR$(127) 445 FOR A=1 TO 15:C$=C$+A$:NEXT A 450 FOR A=1 TO 17:D$=D$+B$:NEXT A 455 : 460 PRINT TAB(12);D$ 462 PRINT TAB(12);B$;C$;B$ 464 IF RND(1)>0.90 THEN GOTO 502 466 PRINT TAB(12);LEFT$(D$,7);A$;B$;A$;LEFT$(D$,7) 468 POKE 12502,150:POKE 13526,118:POKE 12516,150:POKE 13540,118 470 PRINT TAB(12);B$;A$;B$;LEFT$(C$,5);B$;LEFT$(C$,5);B$;A$;B$ 472 PRINT TAB(12);B$;LEFT$(C$,3);LEFT$(D$,9);LEFT$(C$,3);B$ 474 PRINT TAB(12);LEFT(D$,3);LEFT$(C$,11);LEFT$(D$,3) 476 PRINT TAB(12);B$;LEFT$(C$,3);B$;B$;A$;B$;" ";B$;A$;B$;B$;LEFT$(C$,3);B$ 478 PRINT TAB(12);B$;A$;LEFT$(D$,4);A$;B$;B$;B$;A$;LEFT$(D$,4);A$;B$ 480 PRINT TAB(12);B$;A$;B$;LEFT$(C$,4);LEFT$(D$,3);LEFT$(C$,4);B$;A$;B$ 481 NN=137 482 PRINT TAB(12);B$;A$;B$;A$;B$;B$;A$;A$;" ";A$;A$;B$;B$;A$;B$;A$;B$ 484 PRINT TAB(12);B$;A$;B$;A$;LEFT$(D$,4);A$;LEFT$(D$,4);A$;B$;A$;B$ 486 PRINT TAB(12);B$;C$;B$ 488 PRINT TAB(12);B$;B$;A$;LEFT$(D$,4);A$,B$,A$;LEFT$(D$,4);A$;B$;B$ 490 PRINT TAB(12);B$;LEFT$(C$,4);B$;B$;A$;B$;A$;B$;B$;LEFT$(C$,4);B$ 492 PRINT TAB(12);B$;A$;B$;B$;LEFT$(C$,4);B$;LEFT$(C$,4);B$;B$,A$;B$ 494 POKE 12982,150:POKE 14006,118:POKE 12996,150:POKE 14020,118 496 PRINT TAB(12);B$;A$;LEFT$(D$,4);A$;LEFT$(D$,3);A$;LEFT$(D$,4);A$;B$ 498 GOTO 536 500 : 502 PRINT TAB(12);B$;A$;B$;A$;LEFT$(D$,9);A$;B$;A$;B$ 504 POKE 12502,150:POKE 13526,118:POKE 12516,150:POKE 13540,118 506 PRINT TAB(12);B$;A$;B$;LEFT$(C$,11);B$;A$;B$ 508 PRINT TAB(12);B$;A$;B$;A$;LEFT$(D$,4);A$;LEFT$(D$,4);A$;B$;A$;B$ 510 PRINT TAB(12);B$;A$;B$;A$;B$;B$;LEFT$(C$,5);B$,B$,A$;B$,A$;B$ 512 PRINT TAB(12);B$,A$;B$;A$;B$;B$;A$;B$;" ";B$;A$;B$;B$;A$;B$;A$;B$ 514 PRINT TAB(12);B$;A$;B$,A$;B$;B$;A$;LEFT$(D$,3);A$;B$;B$;A$;B$;A$;B$ 516 PRINT TAB(12);B$;LEFT$(C$,6);LEFT$(D$,3);LEFT$(C$,6);B$ 518 PRINT TAB(12);B$;A$;LEFT$(D$,4);A$;A$;" ";A$;A$;LEFT$(D$,4);A$;B$ 520 PRINT TAB(12);B$;A$;B$,B$;LEFT$(C$;3);B$,A$;B$;LEFT$(C$,3);B$;B$;A$;B$ 522 PRINT TAB(12);B$;LEFT$(C$,4);LEFT$(D$,3);A$;LEFT$(D$,3);LEFT$(C$,4);B$ 524 PRINT TAB(12);LEFT$(D$,4);LEFT$(C$,9);LEFT$(D$,4) 526 PRINT TAB(12);B$;LEFT$(C$,4);LEFT·(D$;7);LEFT$(C$,4);B$ 527 NN=136 528 PRINT TAB(12);B$,A$,B$;B$;LEFT$(C$,4);B$;LEFT$(C$,4);B$;B$;A$;B$ 530 PRINT TAB(12);B$;A$;LEFT$(D$,5);A$;B$;A$;LEFT$(D$,5);A$;B$ 532 POKE 12982,150:POLE 14006,118:POKE 12996,150:POKE 14020,118 536 PRINT TAB(12);B$;LEFT$(C$,15);B$ 538 PRINT TAB(12);D$ 540 PRINT:PRINT TAB(10);"Vidas restantes: ";RIGHT$(" "+TB$(0,1),2):PRESET(3,68) 541 RESTORE 546:A$="" 542 FOR A=12341 TO 12357:READ B$ 544 POKE A,ASC(B$):POKE A+1024,3:NEXT 546 DATA C,O,M,E,C,O,C,O,S,/,P,A,C,M,A,N,. 548 : 550 A=12421+MC(1,1)+MC(2,1)*40:POKEMC(0,1),MC(4,1) 552 IFMC(0,1)<>ATHENPOKEMC(0,1)+1024,MC(3,1):MC(3,1)=PEEK(A+1204) 553 IFMC(0,1)<>ATHENMC(4,1)=PEEK(A) 554 POKEA,25:POKEA+1024,124:A=12421+MC(1,0)+MC(2,0)*40 555 IF MC(0,0)<>A THEN POKEMC(0,0),32:POKEMC(0,0)+1024,6 556 POKE A,200:POKE A+1024,MC(3,0):MC(3,0)=70 558 IF(MC(1,0)=MC(1,1)ANDMC(2,0)=MC(2,1))ORMC(4,1)=200THENGOTO1000 560 A$=INKEY$:IF A$="" THEN GOTO 570 562 IF A$="w" AND PEEK(A-40)<>127 THEN Y=-1:X=0:GOTO 580 564 IF A$="z" AND PEEK(A+40)<>127 THEN Y=+1:X=0:GOTO 580 566 IF A$="s" AND PEEK(A+01)<>127 THEN Y=0:X=+1:GOTO 580 568 IF A$="a" AND PEEK(A-01)<>127 THEN Y=0:X=-1:GOTO 580 570 : 580 IF PEEK(12421+MC(1,0)+X+(MC(2,0)+Y)*40)=127 THEN X=0:Y=0 585 MC(0,0)=12421+MC(1,0)+MC(2,0)*40:MC(1,0)=MC(1,0)+X:MC(2,0)=MC(2,0)+Y 590 MC(0,1)=12421+MC(1,1)+MC(2,1)*40 592 IF MC(2,0)=8 ANDMC(1,0)=-1THEN MC(1,0)=16:GOTO 597 593 IFNN=0THENSOUND(500,500):GOTO 400 594 IF MC(2,0)=8 AND MC(1,0)=17 THEN MC(1,0)=0 595 IFMC(1,1)=8ANDMC(2,1)=6THENMC(2,1)=5:GOTO 615 598 A=MC(1,1)-MC(1,0):B=MC(2,1)-MC(2,0):C=12421+MC(1,1)+MC(2,1)*40:S=0 600 IFA=0ANDPEEK(12421+MC(1,1)+(MC(2,1)-SGN(B*J))*40)<>127 THEN S=1 601 IFS=1 THEN MC(2,1)=MC(2,1)-SGN(B*J):GOTO 615 602 IFB=0ANDPEEK(12421+(MC(1,1)-SGN(A*J))+MC(2,1)*40)<>127 THEN S=1 603 IF S=1 THEN MC(1,1)=MC(1,1)-SGN(A*J):GOTO 615 604 IF RND(1)>.6 THEN 608 606 IFPEEK(C-SGN(A*J))<>127THENMC(1,1)=MC(1,1)-SGN(A*J):GOTO 615 608 IFPEEK(C-40*SGN(B*J))<>127THENMC(2,1)=MC(2,1)-SGN(B*J):GOTO 615 610 IFRND(1)>.3ANDPEEK(C+40)<>127THENMC(2,1)+1:GOTO 615 612 IFPEEK(C+1)<>127THENMC(1,1)=MC(1,1)+1 615 J=1:IFMC(4,0)>0THENMC(4,0)=MC(4,0)-1:J=-1:MC(3,0)=118 620 A=PEEK(12421+MC(1,0)+MC(2,0)*40) 625 IFA=150THENMC(4,0)=MC(4,0)+20-VAL(TB$(0,0))*2+INT(RND(1)*4+2) 630 IF A=150 THEN SOUND(10,40):SOUND(40,10):MC(3,0)=118 635 IFA=198THENTB$(1,0)=STR$(VAL(TB$(1,0))+2):NN=NN-1 640 IFA=198THENTB$(1,1)=STR$(VAL(TB$(1,1))+2):SOUND(8,8) 778 IF VAL(TB$(1,1))=5000 THEN TB$(0,1)=STR$(VAL(TB$(0,1))+1) 780 IF VAL(TB$(0,1))=5000 THEN TB$(1,1)="0":SOUND(30,3):GOTO 550 799 SOUND(30,3):GOTO 550 1000 IF MC(4,0)>0 THEN GOTO 1080 1010 FOR A=50 TO 80 STEP 3 1020 SOUND(10,150-A):N=12421+MC(1,0)+MC(2,0)*40:POKE N,213:POKE N+1024,7 1025 FOR B=1 TO 10:NEXT 1030 POKE N,209:POKE N+1024,16:NEXT 1032 OIJE B,213:POKE N+1024,7 1035 TB$(0,1)=STR$(VAL(TB$(0,1))-1):IF VAL(TB$(0,1))<0 THEN 1150 1036 GOTO 410 1080 TB$(1,0)=STR$(VAL(TB$(1,0))+200):TB$(1,1)=STR$(VAL(TB$(1,1))+200) 1082 IF MC(4,1)=198 THEN NN=NN-1 1085 MC(2,1)=6:MC(1,1)=8:MC(3,1)=102 1090 FOR A=80 TO 50 STEP -3 1100 SOUND(10,160-A):NEXT 1110 GOTO 550 1150 RESTORE 1180 1155 FOR A=12341 TO 12357 1160 READ B$;POKE A,ASC(B$):POKEA+1024,7:NEXT 1165 FOR A=1 TO 600:NEXT 1170 A=0:B=0:GOTO 295 1180 DATA " ",!," ",F,I,N," ",D,E," ",J,U,E,G,O," ",!," "