Software Specials

MODEL III DISK USERS ONLY - THE GRAYLOCK CHRONICLES - an album of model III ADVENTURES featuring excursions into the shadowy oftimes fatal fantasy world of GRAYLOCKLAND. Contains SPIDER MOUNTAIN ADVENTURE, DEADLY DUNGEON, DRAGONQUEST, REVENGE OF THE BALROG and THE FORTRESS AT TIMESEND. Six great classic adventures on disk. A value of nearly $100. * GUILD PRICE $39.95.

all users - the dreadnaught chronicles - now on diskette or tape - the grimy R rated DEATH DREADNAUGHT -together with Alex Kries' bold sequel THE DOMES OF KILGARI. Two high speed machine language adventures that will have you crying in frustration as you try to solve them; They're tough - but not impossible.

GUILD PRICE $24.95 Tape; $29.95 Disk

Note: Albums come in handsome leatherette folders for easy storage.



Located on the northern steppes of GRAYLOCKLAND is a formidable castle, home to a wizard of awesome powers. And your job is to penetrate this structure and make your way to the Red Warlock's Tower, retrieving objects of immeasurable value, a task no human or Graylock has ever accomplished and lived. Charles Forsythe, whose DRAGONQUEST has become an Adventure classic, now continues the gray-LOCK SAGA in the format that you have come to expect. No voices or pictures to waste precious memory. Just pure unadulterated adventure, undiluted, a compu-puzzle you may never fully solve.

THE PROGRAMMER'S GUILD c/o Radio Shack Dealer Shopping Village Peterborough, NH 03458

Voice (603) 9246065 Data (603) 9247920 Visa/Mastercard or Certified Check

Allow Two Weeks for Delivery

Circle # 51

," "or," "if," or the punctuation mar ks commas, colons, and semi-colons an d a right parens "(". this allows a s tatement like:

66 1 if(x=1and(a=20rb=3))then t 0 be spaced like: if (x = 1 and (a = 2 or b = 3)) then ####, rather than: if(x = 1 and (a = 2 or b = 3)) then ##

thus it allows the right parens t 0 stay close to

70 ifh1=32andh3=40and(d3="and"ord2="or" 0rd2="if"0rh2=440rh2=580rh2=59)then57 0

75 rem removes blank after line feed, r iqht parens, "/," and between the equ als/not equals signs «=».

80 ifh3=32and((h1=100rh1=470rh1=40)or(( h1=600rh1=610rh1=62)and(h4=600rh4=610 rh4=62)))thend=mid$(d,2):g0t060

85 rem removes blank between anything a nd the ascii chars listed as decimal numbers in the line. the printchr$(8) is a screen format command that allo ws the newly spaced line to print cor rectly.

90 ifh1=32and(h3=470rh3=1oorh2=400rh3=4 10rh3=320rh3=44)then95

91 ifh1=32and(h3=430rh3=400rh3=580rh3=5 90rh3=330rh3=350rh3=360rh3=370rh3=91) then 95

92 goto 100

100 g0t0570

105 rem this routine compares the progr am line position with a list of the c ommand words. the search is in the or der of the words's occurance in my pr ograms. change the sequence to suit y ourself.

106 ' note, however, that a short wor d that is contained in a long word—p rint in prints, for example, must fol low the long word in the search or it will split the word—print 3, or pri nt using, etc.

110 readdo

111 ifd0="xxxx"tjhen570

112 ifmid$(c,i,len(d0))=d0thend=" "+d0+ " ":i=i+len(d0)-1:g0t050else110

120 data or,and,goto,if,then,for,next,0 n,t0,g0sub

130 data lefts,mid$,instr,chr$,else,cls ,lprint

140 data prints),print#-1 ,print#-2,print using,print#,print 150 data input#-1,inputtf-2,input#,input

,int,len,str$ 160 data rights,peek,poke,lineinput#,li neinput,get,put,lset,read 170 data asc,as,field,return,strings,va rptr,cdbl,cint 180 data csng,cvd,cvi,cvs,mkds,mkis,mks s,inkeys,close 190 data open,let,step,tab,usr,val,usin g,line,load 200 data dim,lof,eof,run,mem,end,csave, restore,random 210 data defint,defstr,defdbl,defusr,re sume,point,set 220 data rset,reset,abs,atn,cos,exp,fix

,not,rnd,sgn,loc,log 230 data sin,sqr,tan,stop,free,fre,kill

,error,err,name,save 240 data clear,troff,defsng,times,out,m erge,delete,tron,xxxx 250 onerrorgot05000

255 rem the menu is short and error tra pped

260 input"processes: select:

1 despace for compactness

2 respace for clarity ";m:ifm<10rm>2then260

270 input"rem0ve remarks y/n";ga:ifgao

"y"thenga="n" 280 lineinput"

program filespec ==> ";a:ifa=""then280 290 lineinput"

processed program filespec ==> ";b 295 rem the line prevents your trying t 0 open one filespec for both input an d output at the same time. 300 ifb=athen280elseifb=""then290 310 0pen"i",1,a:0pen"0",2,b 315 rem clears screen and prints the fi lespecs

320 cls:print90,"respacing ";a;" into "

325 rem the program begins by lineinput ing a program line from disk. if it i s a null line, the file is checked fo r the end of file marker as a precaut ion.

330 e="":lineinput#1,c:l=len(c):a#=a#+l :ifc=""then610

335 rem the line number is stripped and put into the new-line variable "e".

the screen is cleared from position # 128 to display the new line as it is spaced.

336 printc

340 i=instr(c," "):e=left$(c,i):printe; :1=1+1

345 rem now, the line is processed char acter by character- mostly, by the as c number of the character variable "h

0 0

Post a comment