Source:Display Characters

From Eamon Wiki
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 Display Characters.

Source

DOS 3.3 Eamon Master

Date

Early 1980s

Author

Mark Mains

License

The use of this item is permitted on the grounds that it's free or in the public domain.

10  REM   TO LIST PROGRAM TYPE
20  REM   'GOTO 1000'
30  REM 
40  REM 
50  REM   EAMON IS A CREATION
60  REM   OF DONALD BROWN
70  REM 
80  REM   DISPLAY CHARACTERS
90  REM     BY  MARK MAINS
100  REM 
110  ONERR  GOTO 500
120  TEXT : HOME 
130  VTAB 11: HTAB 11: PRINT "DISPLAY CHARACTERS": VTAB 12: HTAB 13: PRINT "BY  MARK MAINS"
140 DK$ =  CHR$ (4):REC = 1
150  REM  ONERR GOTO 160
160  PRINT DK$;"OPEN CHARACTERS,L150"
170  PRINT DK$;"READ CHARACTERS,R";REC
180  INPUT NAME$: IF NAME$ = "" THEN 490
190  INPUT HD,AG,CH
200  FOR X = 1 TO 4: INPUT SA%(X): NEXT X
210  FOR X = 1 TO 5: INPUT WA%(X): NEXT X
220  INPUT AE
230  INPUT SEX$
240  INPUT GOLD,BANK
250  INPUT AC
260  FOR X = 1 TO 4: INPUT WNAME$(X),WTYPE%(X),WOODS%(X),WDICE%(X),WSIDES%(X): NEXT X
270  PRINT DK$;"CLOSE"
271 EA =  - 5 * (AC / 2 <  >  INT (AC / 2)): IF AC > 1 THEN EA = EA - 10: IF AC > 3 THEN EA = EA - 10: IF AC > 5 THEN EA = EA - 40
272 EA = EA + AE: IF EA > 0 THEN EA = 0
280  IF NAME$ = "" THEN 490
290  HOME : PRINT  CHR$ (12);
300  PRINT "CHARACTER NAME: ";NAME$
310  PRINT " "
320  PRINT "SEX ";SEX$; SPC( 3);"GOLD ";GOLD; SPC( 3);" IN BANK ";BANK
325  PRINT " "
330  PRINT "HARDINESS ";HD;"   AGILITY ";AG;"   CHARISMA ";CH
335  PRINT " "
340  PRINT  TAB( 13);"SPELL  ABILITY"
350  PRINT "BLAST ";SA%(1);"  HEAL ";SA%(2);"  SPEED ";SA%(3);"  POWER ";SA%(4)
360  PRINT " ": PRINT  TAB( 13);"WEAPON ABILITY"
370  PRINT "AXE ";WA%(1); SPC( 9);"BOW ";WA%(2); SPC( 9);"CLUB ";WA%(3)
380  PRINT  SPC( 4);"SPEAR ";WA%(4); SPC( 10);"SWORD ";WA%(5)
400  PRINT " "
410  PRINT "ARMOUR: ";: ON  INT (AC / 2) + 1 GOTO 411,412,413,414
411  PRINT "SKIN";: GOTO 415
412  PRINT "LEATHER";: GOTO 415
413  PRINT "CHAIN";: GOTO 415
414  PRINT "PLATE";: GOTO 415
415  PRINT  LEFT$ (" AND SHIELD",1 + 10 * (AC / 2 <  >  INT (AC / 2)));"    AE=";AE;"%"
420  PRINT " "
425  PRINT "WEAPON INFORMATION:"
430  PRINT "NAME         COMPLEXITY  DAM  ODDS"
440  PRINT " "
450  FOR I = 1 TO 4
452  IF WNAME$(I) = "NONE" THEN 470
460  PRINT WNAME$(I); SPC( 17 -  LEN (WNAME$(I)));WODDS%(I);"%"; SPC( 6 - (WODDS%(I) < 0) - ( ABS (WOODS%(I)) > 9) - ( ABS (WODDS%(I)) > 99));WDICE%(I);"D";WSIDES%(I);
462  PRINT  SPC( 3 - (WSIDES%(I) > 9));WODDS%(I) + 2 * AG + EA + WA%(WTYPE%(I));"%"
470  NEXT I
480  VTAB 24: INVERSE : PRINT "PRESS ANY KEY TO CONTINUE  ";: NORMAL : GET A$: PRINT : HOME 
490 REC = REC + 1: GOTO 160
500  HOME : PRINT DK$;"PR#0"
510  VTAB 12: HTAB 13: PRINT "END OF PROGRAM"
520  VTAB 22: END 
1000  HOME : LIST 30,100
1010  GOSUB 2000
1020  LIST 100,170: GOSUB 2000
1030  LIST 170,280: GOSUB 2000
1040  LIST 290,380: GOSUB 2000
1050  LIST 390,520: END 
2000  PRINT : INPUT "<RETURN> TO CONTINUE";MP$: HOME : RETURN