Source:Advanced Bench
Jump to navigation
Jump to search
| This page is a verbatim reproduction of original source material and should not be edited except for maintenance. | |
| Description |
The source code of the Eamon utility program Advanced Bench. (See also Source:Test Bench.) |
|---|---|
| Source | |
| Date |
2 August 1984 |
| Author | |
| License |
The use of this item is permitted on the grounds that it's free or in the public domain. |
1 REM ADVANCED BENCH 2 REM BY JOHN NELSON 3 REM 4 REM 7 REM 8-24-84 10 DK$ = CHR$ (4) 20 FOR X = 1 TO 4: READ SN$(X): NEXT : FOR X = 1 TO 5: READ WT$(X): NEXT 100 HOME : PRINT "DO YOU WANT TO USE STANDARD?"; 150 GET ST$: IF ST$ < > "N" AND ST$ < > "Y" THEN 150 200 PRINT ST$: IF ST$ = "Y" THEN 15000 220 GOSUB 15000 230 HOME : PRINT "NAME OF CHARACTER:";NA$;: HTAB PEEK (36) - LEN (NA$) + 1: INPUT "";A$: IF A$ = "" THEN A$ = NA$: VTAB 1: HTAB 19: PRINT A$ 240 NA$ = A$ 250 PRINT "HARDINESS:";HD;: HTAB 11: INPUT "";HD$: IF HD$ = "" THEN HD$ = STR$ (HD): VTAB PEEK (37): HTAB 11: PRINT HD 300 PRINT "AGILITY:";AG;: HTAB 9: INPUT "";AG$: IF AG$ = "" THEN AG$ = STR$ (AG): VTAB PEEK (37): HTAB 9: PRINT AG 350 PRINT "CHARISMA:";CH;: HTAB 10: INPUT "";CH$: IF CH$ = "" THEN CH$ = STR$ (CH): VTAB PEEK (37): HTAB 10: PRINT CH 370 HD = VAL (HD$):AG = VAL (AG$):CH = VAL (CH$) 400 FOR X = 1 TO 4 420 PRINT SN$(X);" ABILITY (%): ";SP%(X);: HTAB PEEK (36) - LEN ( STR$ (SP%(X))) + 1: INPUT "";A$: IF VAL (A$) < 0 OR VAL (A$) > 100 THEN VTAB PEEK (37): GOTO 420 430 IF A$ = "" THEN A$ = STR$ (SP%(X)): VTAB PEEK (37): HTAB LEN (SN$(X)) + 15: PRINT A$ 450 SP%(X) = VAL (A$): NEXT 460 PRINT "ARMOUR TYPE:": PRINT " 1. SHIELD ONLY": PRINT " 2. LEATHER": PRINT " 3. LEATHER AND SHIELD": PRINT " 4. CHAIN MAIL": PRINT " 5. CHAIN AND SHIELD" 465 PRINT " 6. PLATE ARMOUR": PRINT " 7. PLATE AND SHIELD": PRINT "INPUT NUMBER 1-7 : ";AC; CHR$ (8); 470 GET A$: IF (A$ < "1" OR A$ > "7") AND A$ < > CHR$ (13) THEN 470 480 IF A$ = CHR$ (13) THEN A$ = STR$ (AC) 490 VTAB 9: HTAB 13: CALL - 958::AC = VAL (A$): PRINT AC 500 FOR X = 1 TO 5 510 VTAB 9 + X: CALL - 958: PRINT WT$(X);" EXPERTISE (0-100%) ";WA%(X);: HTAB PEEK (36) - LEN ( STR$ (WA%(X))) + 1: INPUT "";A$: IF VAL (A$) < 0 OR VAL (A$) > 100 THEN 510 520 IF A$ = "" THEN A$ = STR$ (WA%(X)): VTAB PEEK (37): HTAB LEN (WT$(X)) + 21: PRINT A$ 550 WA%(X) = VAL (A$): NEXT 600 PRINT : INVERSE : PRINT " IS THIS ACCEPTABLE? (Y/N) ";: NORMAL : PRINT " "; 610 GET A$: IF A$ < > "Y" AND A$ < > "N" THEN 610 620 IF A$ = "Y" THEN 14500 650 GOTO 230 10010 DATA BLAST,HEAL,SPEED,POWER 10020 DATA AXE,BOW,MACE,SPEAR,SWORD 10030 DATA TESTOR: REM NAME 10040 DATA 20,18,16: REM HARDINESS/AGILITY/CHARISMA 10050 DATA 50,90,60,50: REM BLAST/HEAL/SPEED/POWER 10060 DATA 30 : REM ARMOUR EXPERTISE 10070 DATA 4: REM ARMOUR CLASS 10080 DATA 40,10,55,15,40: REM WEAPON ABIL: AXE/BOW/MACE/SPEAR/SWORD 10090 DATA MACE,3,10,1,4: REM 1ST WEAPON 10100 DATA SWORD,5,10,1,8: REM 2ND WEAPON 10110 DATA EXCALIBUR,5,25,2,8: REM 3RD WEAPON 10120 DATA NONE,0,0,0,0 : REM 4TH WEAPON 10130 DATA M,2000,4000 14500 REM === GO ON ADVENTURE === 14510 HOME : VTAB 5: PRINT "INSERT ADVENTURE TO TEST AND PRESS ANY": PRINT : PRINT " KEY TO CONTINUE" 14520 GET A$: PRINT : PRINT DK$;"OPEN FRESH MEAT": PRINT DK$;"WRITE FRESH MEAT" 14530 PRINT - 1: PRINT NA$: PRINT HD: PRINT AG: PRINT CH: FOR X = 1 TO 4: PRINT SP%(X): NEXT : FOR X = 1 TO 5: PRINT WA%(X): NEXT 14540 PRINT AE: PRINT SEX$: PRINT GOLD: PRINT BANK: PRINT AC: FOR X = 1 TO 4: PRINT WN$(X): PRINT WT%(X): PRINT WC%(X): PRINT WD%(X): PRINT WS%(X): NEXT 14590 PRINT DK$"CLOSE": PRINT DK$"OPEN EAMON.NAME": PRINT DK$"READ EAMON.NAME": INPUT AD$: PRINT DK$"CLOSE" 14600 PRINT DK$"RUN ";AD$ 15000 READ NAME$: READ HD,AG,CH: FOR X = 1 TO 4: READ SP%(X): NEXT : READ AE: READ AC: FOR X = 1 TO 5: READ WA%(X): NEXT : FOR X = 1 TO 4: READ WN$(X),WT%(X),WC%(X),WD%(X),WS%(X): NEXT 15010 READ SEX$,GOLD,BANK 15020 NM$ = NA$ 15100 IF STD$ = "Y" THEN 14500 15150 RETURN