home *** CD-ROM | disk | FTP | other *** search
/ Loadstar 176 / 176.d81 / b.printmonster (.txt) < prev    next >
Commodore BASIC  |  2022-08-26  |  3KB  |  61 lines

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