Quantcast
Channel: stardot.org.uk
Viewing all articles
Browse latest Browse all 2534

programming • Re: Adventure Party Creator

$
0
0
Thank you a lot to think about.

Did a little bit more:

Code:

10 MODE9:COLOUR131:COLOUR020 PROCdb30 40 REPEAT50   CLS60   PRINT"1>edit 2>disk 3>exit"70   PROCln80   PRINT'"NAME"TAB(10)"SK"TAB(15)"PTR"90   PROCpr100   opt=FNmenu110   IFopt=1PROCed 120   IFopt=2PROCdk130 UNTILopt=3140 150 END160170 DEFPROCdb180   REM10 records,2 fields190   DATA10,2200   DATADONOVAN,09210   DATAJULIET,06220   DATATYLER,10230   DATAWILLIE,12240   DATA,,,,,,,,,,,250   DIMd$(11,2),id%(11)260   LOCALrd,fd,free:READrds,fds270   dp=1:fp=rds+1280   290   FORrd=1TOrds300     FORfd=1TOfds310       READd$(rd,fd):id%(rd)=rd+1320   NEXT,:id%(rds)=-1330   340   FORfree=rds+1TO11350     id%(free)=free+1360   NEXTfree:id%(11)=-1:ENDPROC370380 DEFFNmenu:LOCALopt390   INPUT"Select> "opt400 =opt410420 DEFPROCed430   INPUT'"Create(C) Delete(D)> "A$440   IFA$="C"PROCcr450   IFA$="D"PROCde460   PROCsp470 ENDPROC480490 DEFPROCcr:af=0:LOCALlp500   INPUT"Type name to add> "n$510   p=dp:lp=dp520   IFp=-1PROCad(n$,p,lp):ENDPROC530   540   REPEAT550     IFn$<d$(p,1)PROCad(n$,p,lp)560     lp=p:p=id%(p)570   UNTILp=-1ORaf=1580   590   IFp=-1ANDaf=0PROCad(n$,-1,lp)600 ENDPROC610620 DEFPROCde:df=0630   LOCALlp:IFdp=-1PRINT"EMPTY":ENDPROC640   INPUT"Type name or enter to delete slot. "'n$650   p=dp:lp=dp660670   REPEAT680     IFn$=d$(p,1)PROCdel(p,lp)690     lp=p:p=id%(p)700   UNTILp=-1ORdf=1710   720   IFp=-1ANDdf=0PRINT"No match "730 ENDPROC740750 DEFPROCpr:LOCALcount:count=0:p=dp760   IFdp=-1PRINT"EMPTY"':ENDPROC770   780   REPEAT790     PRINTd$(p,1)TAB(10)"|"d$(p,2)TAB(15);"|"id%(p)800     p=id%(p):count=count+1810   UNTILp=-1820830   PRINT'count" slots:"10-count" free slots"840   PROCln850 ENDPROC860870 DEFPROCad(N$,p,lp):af=1880   IFid%(fp)=-1PRINT"NO ROOM!":ENDPROC890   nfp=id%(fp)900   d$(fp,1)=N$:id%(fp)=p910   IFp=lp dp=fp ELSE id%(lp)=fp920 fp=nfp:ENDPROC930940 DEFPROCdel(p,lp):df=1950   IFp=lp ANDlp=dp dp=id%(lp):id%(p)=fp:fp=p:ENDPROC960   id%(lp)=id%(p):id%(p)=fp:fp=p970 ENDPROC980990 DEFFNname1000   LOCALf$10101020   REPEAT1030     INPUT'"Filename (max 7ch)? "f$1040   UNTILLENf$<=7ANDf$>CHR$3210501060 =f$10701080 DEFPROCdk1090   CLS:*.1100   INPUT'"SAVE(S) LOAD(L)> "A$1110   IFA$="S" name$=FNname:PROCsa(name$):PROCdu1120   IFA$="L" name$=FNname:PROClo(name$):PROCdu1130   PROCsp1140 ENDPROC11501160 DEFPROCsa(name$)1170   LOCALrd,fd,chl1180   chl=OPENOUT(name$)1190   PRINT'"Saving: "name$1200   PRINT#chl,rds,fds12101220   FORrd=1TOrds1230     FORfd=1TOfds1240       PRINT#chl,d$(rd,fd),id%(rd)1250   NEXT,12601270   CLOSE#chl1280   PRINT'"Done!"1290 ENDPROC13001310 DEFPROClo(name$)1320   LOCALrd,fd1330   chl=OPENIN(name$)1340   PRINT'"Loading file:"name$1350   INPUT#chl,rds,fds13601370   FORrd=1TOrds1380     FORfd=1TOfds1390       INPUT#chl,d$(rd,fd),id%(rd)1400   NEXT,14101420   CLOSE#chl1430   PRINT'"Done!"1440 ENDPROC14501460 DEFPROCsp1470   PRINT'"SPACE bar to continue";:*FX21,01480   REPEATUNTIL GET$=" "1490 ENDPROC15001510 DEFPROCdu1520   LOCALI%,J%1530   FORI%=0TO111540     PRINT;I%;":";id%(I%);" ";1550     FORJ%=1TO21560       PRINTd$(I%,J%);" ";1570     NEXT:PRINT1580   NEXT1590 PRINT:ENDPROC16001610 DEFPROCln1620   LOCALmo,le1630   A%=&87:mo=(USR(&FFF4)AND&FF0000)DIV&100001640   le=401650   IFmo=0ORmo=3le=801660   IFmo=2ORmo=5le=201670   PRINTSTRING$(le,"_"):VDU111680 ENDPROC

Statistics: Posted by modboy — Sun Dec 15, 2024 5:26 pm



Viewing all articles
Browse latest Browse all 2534

Trending Articles