home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 176
/
176.d81
/
b.printmonster
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
3KB
|
61 lines
2 rem * prints full monster listings *
4 rem * for dungeon -- 10/16/90, djm *
6 dv=peek(186):ifdv<8thendv=8
8 dima$(199,12):poke53280,0:poke53281,0:s$=" ":poke53371,0
9 print"[147]"chr$(142);:goto24
10 ifa<10thena=int(2.5*a+2.5):return
12 a=25+int(1.25*a-11.25):return
14 geta$:ifa$>""then14
16 geta$:ifa$=""then16
18 return
20 input#15,en,em$,et,es:ifen=.oren=62thenreturn
22 print"[150] "en;em$;et;es:close2:close15:stop
24 print"[147]"tab(12)"[159]*** printmon [159]***"
26 print"[155] monster directory printer by [158]j.mattson"
28 print"[155] for use with dungeon[155] by [158]d.caruso"
30 print"[159] prepare drive"dv"and press a key...":gosub14
32 i=.:j=.:open15,dv,15
34 i=i+1:f$="0:monsters "+str$(-i)+",s,r":open2,dv,2,f$:gosub20:ifen=62then40
36 input#2,a$(j,.):rs=st:ifrs>.thenclose2:goto34
38 fork=1to12:input#2,a$(j,k):next:j=j+1:fork=.to62:input#2,a$:next:goto36
40 j=j-1:close2:close15:ifj<.thenprint"[147][144] no monsters on this disk!":goto88
42 print"[147] prepare printer and press a key...":gosub14
44 open4,4:cmd4
46 print"# monster name normal verb hit dam ";
48 print"special verb % hit dam"
50 fori=.toj:a$=str$(i+1):a$=mid$(a$,2):a$=a$+left$(s$,4-len(a$))
52 a$=a$+a$(i,.)+left$(s$,20-len(a$(i,.)))+a$(i,1)+left$(s$,16-len(a$(i,1)))
54 a=val(a$(i,4))-60:gosub10:b$=str$(a):b$=mid$(b$,2)
56 b$=b$+left$(s$,5-len(b$))+a$(i,5)+left$(s$,5-len(a$(i,5)))+a$(i,2)
58 a$=a$+b$+left$(s$,16-len(a$(i,2)))+a$(i,7)+left$(s$,5-len(a$(i,7)))
60 a=val(a$(i,8))-60:gosub10:a=-a*(a$(i,2)<>"n"):b$=str$(a):b$=mid$(b$,2)
62 b$=b$+left$(s$,5-len(b$))+a$(i,9):a$=a$+b$
64 printa$:next:print#4:close4
66 print"[147] prepare printer for part 2 and":print" press a key...":gosub14
68 print" [158]c-64 users take note:[159] there will be a"
70 print" pause first for variable 'garbage"
72 print" collection'.":a=fre(0):open4,4:cmd4
74 print"# monster name #at arm hp exp colour"
76 fori=.toj:a$=str$(i+1):a$=mid$(a$,2):a$=a$+left$(s$,4-len(a$))
78 a$=a$+a$(i,.)+left$(s$,20-len(a$(i,.)))+a$(i,6)+left$(s$,5-len(a$(i,6)))
80 a=val(a$(i,3)):gosub10:b$=str$(a):b$=mid$(b$,2)
82 b$=b$+left$(s$,5-len(b$))+a$(i,11)+left$(s$,5-len(a$(i,11)))+a$(i,12)
84 a$=a$+b$+left$(s$,6-len(a$(i,12)))+a$(i,10)
86 printa$:next:print#4:close4:print"[147][144] done."
88 poke53280,14:poke53281,6:print"[154] press [159]t[154] to try again, or any other"
90 print" key to stop."
92 print" if you wish to return to [159]loadstar[154], put your [159]ls[154] disk in first."
94 gosub14:ifa$="t"thenrun
96 goto40000
10000 d=peek(186):n$="0:b.printmonster":open15,d,15,"s"+n$:close15:saven$,d:end
40000 fori=8to29:poke820+i,i:next:ifdv>8anddv<30thenpoke828,dv:poke820+dv,8
40010 a$="presenter":gosub40030:a$="hello connect":gosub40030
40020 print"[147]":poke53272,23:poke186,8:poke2048,0:poke44,8:poke43,1:end
40030 forj=8to29:i=peek(820+j):ifi=14thennext
40040 close2:open2,i,2:close2:ifstthen40060
40050 close15:open15,i,15,"r0:"+a$+"="+a$:input#15,er:close15:ifer=63then40070
40060 next:return
40070 a$="hello connect":q$=chr$(34):poke646,peek(53281):print"[147]":poke53272,23
40080 print"[147]p[207]2048,0:p[207]44,8:p[207]43,1:p[207]56,160:p[207]55,0:clr:l[207]"q$a$q$","i
40090 print"run:":poke631,13:poke632,13:poke198,2:end