Versión actual: STATS.BAS
- BAS (interpret.): 2193 bytes
- BIN (compilado): 2648 bytes +28 (vars)
- ORG: 49120
- Compilado con: Hisoft BASIC 1.2 Plus 3 Version
Cargado en RAM desde C: y copiado a M: por LOADER.BAS
Cargado en RAM desde M: y ejecutado por MAIN.BAS
---------------------------------------------------------------------------------
1000 REM # STATS
1002 REM # Statistics Module
1005 REM #######################
-----------------------------------------------------Metacomandos de Hisoft BASIC
---------------------------------------------------------------------------------
1010 REM : INT+FN P 1020 REM : INT+ P,R,S,W,X,Y,Z,num,num2,A 1025 REM : USR 49120 <------------------ORG 1030 REM : OPEN #
---------------------------------------------------------------------------------
1040 REM *********************** 1045 DEF FN P(A)=PEEK A+256*PEEK (A+1) <------Def_DPEEK(adrs)
1050 LET R=64871: LET S=64875: PAPER 2: FOR X=0 TO 9:\ PRINT AT X,0;TAB 12: NEXT X: PRINT AT 0,0;"STATISTICS:";
AT 1,0;"ALEC";AT 1,8;"L";PEEK 64867;
AT 2,0;"HP:": LET num=64887: PRINT AT 3,0;FN p(num);
AT 4,0;"PSY:";
AT 5,0;FN P(64895);
AT 6,0;"EXP:"
1070 PRINT AT 7,0;FN P(64879);
AT 8,0;"WEAPON:";("NO" AND PEEK R=0)+
("DAGG" AND PEEK R=1)+
("SWOR" AND PEEK R=2)+
("AXE" AND PEEK R=3)+
("GUN" AND PEEK R=4)+
("AK47" AND PEEK R=5)+
("NAPA" AND PEEK R=6)+
("BOMB" AND PEEK R=7)+
("THUN" AND PEEK R=8)+
("ATOM" AND PEEK R=9)
1080 PRINT AT 9,0;"SHIELD:";("NO" AND PEEK S=0)+
("MINI" AND PEEK S=10)+
("SHIE" AND PEEK S=11)+
("COVE" AND PEEK S=12)+
("SUIT" AND PEEK S=13)+
("ARMO" AND PEEK S=14)+
("HARD" AND PEEK S=15)+
("META" AND PEEK S=16)+
("SUPE" AND PEEK S=17)+
("TITA" AND PEEK S=18)+
("ULTI" AND PEEK S=19): LET num=64881: PAPER 3
1090 FOR X=1 TO 3: LET Y=(12 AND (X=2 OR X=3)): LET Z=(20 AND (X=1 OR X=3)): LET num2=num
1110 IF PEEK (64867+x)<10 AND PEEK (64867+X)>0 THEN
FOR W=Y TO Y+9: PRINT AT W,Z;" ": NEXT W: PRINT AT Y,Z;"STATISTICS:";AT Y+1,Z;("PEPI" AND X=1);
("ELLE" AND X=2);
("SALU" AND X=3);
AT Y+1,Z+8;"L";PEEK (64867+X);
AT Y+2,Z;"HP:";
AT Y+3,Z;FN P(num+8);
AT Y+4,Z;"PSY:";
AT Y+5,Z;FN P(num+16);
AT Y+6,Z;"EXP:"
1120 IF PEEK (64867+x)<10 AND PEEK (64867+X)>0 THEN
PRINT AT Y+7,Z;FN P(num);
AT Y+8,Z;"WEAPON:";("NO" AND PEEK (R+X)=0)+
("DAGG" AND PEEK (R+X)=1)+
("SWOR" AND PEEK (R+X)=2)+
("AXE" AND PEEK (R+X)=3)+
("GUN" AND PEEK (R+X)=4)+
("AK47" AND PEEK (R+X)=5)+
("NAPA" AND PEEK (R+X)=6)+
("BOMB" AND PEEK (R+X)=7)+
("THUN" AND PEEK (R+X)=8)+
("ATOM" AND PEEK (R+X)=10)
1130 IF PEEK (64867+x)<10 AND PEEK (64867+X)>0 THEN
PRINT AT Y+9,Z;"SHIELD:";("NO" AND PEEK (S+X)=0)+
("MINI" AND PEEK (S+X)=10)+
("SHIE" AND PEEK (S+X)=11)+
("COVE" AND PEEK (S+X)=12)+
("SUIT" AND PEEK (S+X)=13)+
("ARMO" AND PEEK (S+X)=14)+
("HARD" AND PEEK (S+X)=15)+
("META" AND PEEK (S+X)=16)+
("SUPE" AND PEEK (S+X)=17)+
("TITA" AND PEEK (S+X)=18)+
("ULTI" AND PEEK (S+X)=19)
1140 LET num=num2+2:\ NEXT X
1150 PAUSE 0:
STOP
---------------------------------------------------------------------------------
Variables numéricas: P, R, S, W, X, Y, Z, num, num2, A
Funciones: P(DPEEK)
El programa presenta en pantalla las variables del juego almacenadas en un área de memoria:
x
x