Make C1P screen sharper, add support for C1P JSON files, and add more C1P README files
This commit is contained in:
parent
c8d3a102e2
commit
985c7c76cd
46 changed files with 2199 additions and 54 deletions
132
apps/c1p/BASIC/jeffpar/CHECKERS.BAS
Normal file
132
apps/c1p/BASIC/jeffpar/CHECKERS.BAS
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
1 REM--CHECKERS?--
|
||||
2 REM-MEM.SIZE:8183-
|
||||
3 T1=300:A=53448
|
||||
5 FORC=1TO24:PRINT:NEXT:GOSUB10000:GOSUB20000
|
||||
7 FORC=8184TO8191:READD:POKEC,D:NEXT:POKE11,248:POKE12,31
|
||||
8 DATA32,0,253,141,255,31,96,0
|
||||
10 FORC=A+640TOA+665:POKEC,32:NEXT:POKEA+640,63
|
||||
11 M=USR(M):M=PEEK(8191)-48:IFM=9ANDG8=0THENG8=1:GOTO34
|
||||
12 G8=1:IFM<1ORM>8THEN10
|
||||
13 IFM=9ANDG9=1THENG9=0:GOTO34
|
||||
14 IFM=9OR(M<>X1ANDG9=1)THEN10
|
||||
15 POKEA+642,M+48:POKEA+643,44:X=M:M=USR(M):M=PEEK(8191)-48
|
||||
16 IF(M<>Y1ANDG9=1)ORM<1ORM>8THEN10
|
||||
17 POKEA+644,M+48
|
||||
18 Y=M:M=USR(M):M=PEEK(8191)-48
|
||||
19 IF(G9=1ANDABS(X-M)<>2)ORM<1ORM>8THEN10
|
||||
20 POKEA+646,M+48:POKEA+647,44:X1=M:M=USR(M):M=PEEK(8191)-48
|
||||
23 IFM<1ORM>8THEN10
|
||||
25 POKEA+648,M+48:Y1=M:IFABS(X-X1)<>ABS(Y-Y1)THEN10
|
||||
26 IFABS(X-X1)>2ORX>8ORY>8ORX1>8ORY1>8THEN10
|
||||
27 IFP(X,Y)<1ORP(X1,Y1)<>0THEN10
|
||||
28 IFP(X,Y)=1ANDY1<YTHEN10
|
||||
29 IFABS(X-X1)=2ANDP((X+X1)/2,(Y+Y1)/2)>-1THEN10
|
||||
30 P(X1,Y1)=P(X,Y):P(X,Y)=0:IFABS(X-X1)=2THENP((X+X1)/2,(Y+Y1)/2)=0
|
||||
31 IFY1=8THENP(X1,Y1)=2
|
||||
32 IFABS(X-X1)=2THENGOSUB20000:G9=1:GOTO10
|
||||
33 GOSUB20000
|
||||
34 FORC=A+640TOA+665:POKEC,32:NEXT
|
||||
35 REM-MAIN PROGRAM-
|
||||
230 G=-1:R=-99:FORY=1TO8:FORX=1TO8
|
||||
231 IFP(X,Y)>-1THEN350
|
||||
300 W=8:M=P(X,Y)
|
||||
310 IFM=-1THENFORA1=-1TO1STEP2:B1=G:GOSUB650:NEXTA1
|
||||
330 IFM=-2THENFORA1=-1TO1STEP2:FORB1=1TO-1STEP-2:GOSUB650:NEXTB1,A1
|
||||
350 L6=0:L7=0:L8=0:L9=0:NEXTX,Y:GOTO1140
|
||||
650 U=X+A1:V=Y+B1:IFU<1ORU>8ORV<1ORV>8THEN870
|
||||
660 FORC1=-1TO1STEP2:FORD1=-1TO1STEP2
|
||||
670 IFX+C1<1ORX+C1>8ORY+D1<1ORY+D1>8THEN700
|
||||
673 IFX+C1*2<1ORX+C1*2>8ORY+D1*2<1ORY+D1*2>8THEN700
|
||||
675 IFP(X+C1,Y+D1)>-1THEN700
|
||||
680 IFP(X+C1*2,Y+D1*2)<>2ANDY+D1>YTHEN700
|
||||
682 IFX-C1<1ORX-C1>8ORY-D1<1ORY-D1>8THEN685
|
||||
683 IFP(X+C1,Y+D1)>0ANDP(X-C1,Y-D1)=0THENL9=1
|
||||
685 IFP(X+C1*2,Y+D1*2)<1THEN700
|
||||
690 Q=Q-4:GOTO740
|
||||
700 NEXTD1,C1
|
||||
740 IFP(U,V)=0THENGOSUB910:GOTO870
|
||||
770 IFP(U,V)<0THEN870
|
||||
790 U=U+A1:V=V+B1:IFU<1ORV<1ORU>8ORV>8THEN870
|
||||
850 IFP(U,V)=0THENGOSUB910
|
||||
870 RETURN
|
||||
910 REM
|
||||
920 IFABS(Y-V)=2THENQ=Q+4
|
||||
930 IFL8=0ANDP(X,Y)=-1THENQ=Q+(2-Y/2)
|
||||
1000 IFP(X,Y)=-2THENQ=Q-1
|
||||
1030 IFP(X,Y)=-1THENFORC1=-1TO1STEP2:FORD1=-1TO-1:GOTO1033
|
||||
1031 IFP(X,Y)=-2THENFORC1=-1TO1STEP2:FORD1=-1TO1STEP2:GOTO1033
|
||||
1032 GOTO1081
|
||||
1033 IFU+C1<1ORU+C1>8ORV+D1<1ORV+D1>8THEN1080
|
||||
1034 IFU+C1*2<1ORU+C1*2>8ORV+D1*2<1ORV+D1*2>8THEN1040
|
||||
1035 IFP(U+C1,V+D1)<0ANDP(U+C1*2,V+D1*2)>0THENQ=Q+4
|
||||
1036 IFU-C1<1ORU-C1>8ORV-D1<1ORV-D1>8THEN1080
|
||||
1037 IFP(U+C1,V+D1)>0ANDP(U-C1,V-D1)<>0ANDP(U+C1*2,V+D1*2)=0THENQ=Q+2
|
||||
1040 IFU-C1<1ORU-C1>8ORV-D1<1ORV-D1>8THEN1080
|
||||
1042 IFV+D1>VANDP(U+C1,V+D1)<2THEN1050
|
||||
1045 IFP(U+C1,V+D1)>0AND(P(U-C1,V-D1)=0OR(X=U-C1ANDY=V-D1))THEN5000
|
||||
1047 IFL9=1THENQ=Q+1:L7=1
|
||||
1050 IFP(U+C1,V+D1)<>0ANDP(U-C1,V-D1)<>0ANDY<>8ANDP(X,Y)=-1THENQ=Q+1
|
||||
1080 NEXTD1,C1
|
||||
1081 IFL6=0THENQ=Q+4
|
||||
1082 IFQ>RTHENR=Q:R1=X:R2=Y:R3=U:R4=V
|
||||
1090 IFQ=RANDINT(RND(X)*10)+1<4THENR1=X:R2=Y:R3=U:R4=V
|
||||
1100 Q=0:RETURN
|
||||
1140 IFR=-99THEN1880
|
||||
1230 R=-99:GOSUB2000
|
||||
1240 IFR4=1THENP(R3,R4)=-2:GOTO1310
|
||||
1250 P(R3,R4)=P(R1,R2)
|
||||
1310 P(R1,R2)=0:IFABS(R1-R3)<>2THEN1420
|
||||
1330 P((R1+R3)/2,(R2+R4)/2)=0
|
||||
1340 X=R3:Y=R4:IFP(X,Y)=-1THENB1=-2:FORA1=-2TO2STEP4:GOSUB1370
|
||||
1350 IFP(X,Y)=-2THENFORA1=-2TO2STEP4:FORB1=-2TO2STEP4:GOSUB1370:NEXTB1
|
||||
1360 NEXTA1:IFR<>-99THENR=-99:GOTO1240
|
||||
1365 GOTO1420
|
||||
1370 U=X+A1:V=Y+B1:IFU<1ORU>8ORV<1ORV>8THEN1400
|
||||
1380 IFP(U,V)=0ANDP(X+A1/2,Y+B1/2)>0THENGOSUB910
|
||||
1400 RETURN
|
||||
1420 FORT=1TO1400:NEXT:GOSUB20000:GOTO10
|
||||
1880 PRINT:PRINT" I CONCEDE...":END
|
||||
2000 REM-COMMENTS-
|
||||
2010 POKEA+640,73:POKEA+642,65:POKEA+643,77
|
||||
2015 IFABS(R1-R3)=2THEN2050
|
||||
2017 POKEA+645,77:POKEA+646,79
|
||||
2020 POKEA+647,86:POKEA+648,73:POKEA+649,78:POKEA+650,71:POKEA+651,46
|
||||
2030 POKEA+652,46:POKEA+653,46:RETURN
|
||||
2050 POKEA+645,74:POKEA+646,85:POKEA+647,77:POKEA+648,80:POKEA+649,73
|
||||
2060 POKEA+650,78:POKEA+651,71:POKEA+652,46:POKEA+653,46:POKEA+654,46
|
||||
2070 RETURN
|
||||
4000 POKEB1,187:POKEB1+1,187:POKEB1+32,187:POKEB1+33,187:RETURN
|
||||
5000 Q=Q-4:IFP(X,Y)=-2THENQ=Q-2
|
||||
5002 L6=1
|
||||
5003 IF(ABS(Y-V)=2ORABS(X-U)=2)ANDRND(X)*100<40THENQ=Q-1
|
||||
5004 IFL9=1ANDL7=1THENQ=Q-1:L7=0
|
||||
5005 GOTO1080
|
||||
9999 END
|
||||
10000 REM-CHESSBOARD-
|
||||
10005 FORB=ATOA+15:POKEB,154:POKEB+544,155:NEXT
|
||||
10010 FORB=B+32TOA+544STEP32:POKEB,156:POKEB-17,157:NEXT
|
||||
10015 POKEA-1,165:POKEA+16,167:POKEA+560,168:POKEA+543,166
|
||||
10017 GOTO10047:REM-THIS FOR ALTERNATE BOARD-
|
||||
10020 FORB=A+33TOA+45STEP2:POKEB,143:POKEB+481,136:NEXT
|
||||
10025 FORB=B+64TOA+512STEP64:POKEB,135:POKEB-47,128:NEXT
|
||||
10040 FORB=A+66TOA+452STEP64:FORB1=BTOB+12STEP2:POKEB1,209:NEXTB1,B
|
||||
10045 FORB=A+97TOA+481STEP64:FORB1=BTOB+12STEP2:POKEB1,207:NEXTB1,B
|
||||
10047 REM-CHEC. INIT.--
|
||||
10050 DIMP(8,8):FORX=1TO8:FORY=1TO3:IF(X+Y)/2=INT((X+Y)/2)THENP(X,Y)=1
|
||||
10055 IF(X+Y+5)/2=INT((X+Y+5)/2)THENP(X,Y+5)=-1
|
||||
10060 NEXTY,X:P(1,7)=-1
|
||||
10065 X=57:FORB=A+62TOA+510STEP64:X=X-1:POKEB,X:NEXT
|
||||
10070 FORB=A+576TOA+590STEP2:POKEB,X:X=X+1:NEXT
|
||||
10075 RETURN
|
||||
20000 REM--PIECES--
|
||||
20005 Y=9:FORB=A+32TOA+480STEP64:X=0:Y=Y-1:FORB1=BTOB+14STEP2:X=X+1
|
||||
20010 E3=168:M=P(X,Y):T=(X+Y)/2:IFM<0THENPOKEB1,88
|
||||
20011 REM INSTRUCTIONS INVOLVING "T" ACCOUNT FOR FILLED BLOCKS
|
||||
20012 IFT<>INT(T)THENGOSUB4000
|
||||
20015 IFM>0THENPOKEB1,79
|
||||
20017 IFT=INT(T)THENPOKEB1+1,32:POKEB1+32,32
|
||||
20020 IFABS(M)=2THENE3=107
|
||||
20040 IFM=0ANDT=INT(T)THENPOKEB1,32:POKEB1+33,32:GOTO20100
|
||||
20050 IFT<>INT(T)THEN20100
|
||||
20099 POKEB1+33,E3
|
||||
20100 NEXTB1,B:RETURN
|
||||
177
apps/c1p/BASIC/jeffpar/HANGWOMAN.BAS
Normal file
177
apps/c1p/BASIC/jeffpar/HANGWOMAN.BAS
Normal file
|
|
@ -0,0 +1,177 @@
|
|||
1 DEFFNQ(X)=INT(RND(RS)*X)+1
|
||||
2 REM
|
||||
3 REM * HANGWOMAN *
|
||||
4 REM
|
||||
10 DEFFNQ(X)=INT(RND(RS)*X)+1
|
||||
11 C=53446:Y=0:RS=PEEK(8191)
|
||||
12 POKE11,0:POKE12,253
|
||||
18 PRINT:PRINTTAB(6);"HANGWOMAN":FORM=1TO22:PRINT:NEXT
|
||||
20 GOSUB800:C=C-32
|
||||
25 A$="USED LETTERS:":P=C+103:GOSUB850
|
||||
28 A$="AND THE WORD:":P=C+551:GOSUB850
|
||||
30 GOSUB900:A$="":FORM=1TOLEN(B$):A$=A$+CHR$(95):NEXTM:L=1:R=C+167
|
||||
31 K=1:S=1
|
||||
35 REM*BEGIN QUEST*
|
||||
39 P=C+616:GOSUB850
|
||||
40 IFY=0THENX=4:GOTO42
|
||||
41 X=FNQ(10):IFX<4THENC$="GIVE ME A LETTER: "
|
||||
42 IFX=4ORX=5ORX=6THENC$="WHAT DO YOU THINK? "
|
||||
43 IFX>6ANDY=1THENC$="TRY ANOTHER LETTER: "
|
||||
45 GOSUB890:Y=1
|
||||
46 X=USR(X):A=PEEK(531):IFA<65ORA>90THEN46
|
||||
50 PRINTCHR$(A);
|
||||
51 RS=RS+A/K
|
||||
52 FORT=1TO1500:NEXTT
|
||||
55 FORN=1TOLEN(B$):IFCHR$(A)=MID$(B$,N,1)THEN75
|
||||
58 NEXTN
|
||||
61 X=FNQ(10):IFX<4THENC$="I DON'T THINK SO..."
|
||||
62 IFX=4ORX=5ORX=6THENC$="WELL, ALMOST..."
|
||||
63 IFX>6THENC$="NOBODY'S PERFECT..."
|
||||
64 GOSUB875
|
||||
65 ONKGOSUB200,280,210,220,230,260,240,250,320,340
|
||||
70 K=K+1:GOTO85
|
||||
75 REM*MATCH*
|
||||
76 FORM=1TOLEN(A$):IFCHR$(A)<>MID$(A$,M,1)THEN78
|
||||
77 C$="YOU DID THAT, DUMMY!":GOTO64
|
||||
78 NEXTM
|
||||
79 GOSUB190
|
||||
80 FORM=NTOLEN(B$)
|
||||
81 IFMID$(B$,M,1)=CHR$(A)THENA$=MID$(A$,1,M-1)+CHR$(A)+MID$(A$,M+1)
|
||||
82 NEXTM
|
||||
85 REM*SHOW LETTER*
|
||||
90 POKER+1,A:R=R+2:S=S+1:IFS>5THENS=1:R=R+54
|
||||
92 L=L+1:IFL>26ORK>10THEN150
|
||||
94 FORM=1TOLEN(A$):IFMID$(A$,M,1)=CHR$(95)THEN35
|
||||
96 NEXTM
|
||||
100 REM*WON GAME*
|
||||
105 P=C+616:GOSUB850
|
||||
108 IFW=0THENC$="YOU ACTUALLY WON!"
|
||||
110 IFW=1THENC$="YOU'RE IMPROVING..."
|
||||
112 IFW=2THENC$="WHAT CAN I SAY?"
|
||||
114 IFW=3THENC$="IT WAS EASY ANYWAY..."
|
||||
116 IFW>3THENC$="YOU'RE TOO GOOD"
|
||||
118 W=W+1:GOSUB875
|
||||
119 GOSUB600
|
||||
120 IFFNQ(10)>5THENC$="WANT TO TRY AGAIN? ":GOTO125
|
||||
122 C$="HOW ABOUT ANOTHER? "
|
||||
125 GOSUB875:X=USR(X):A=PEEK(531):IFCHR$(A)="Y"THENPRINT:GOTO10
|
||||
130 GOTO189
|
||||
150 REM*LOST GAME*
|
||||
155 P=C+616:A$=B$:GOSUB850
|
||||
160 IFV=0THENC$="I KNEW YOU'D SLIP!"
|
||||
162 IFV=1THENC$="THAT WAS PRETTY SAD"
|
||||
163 IFV=2THENC$="BOY, YOU NEED HELP..."
|
||||
165 IFV>2THENC$="GO SIT ON A BOOGERPOT"
|
||||
170 V=V+1:GOSUB875:GOSUB625:GOTO120
|
||||
189 END
|
||||
190 IFFNQ(10)<7THEN196
|
||||
191 IFFNQ(10)>5 THEN194
|
||||
192 C$="WELL, ALMOST...":GOSUB875:C$=" IS GOOD ENOUGH!!":GOSUB875
|
||||
193 GOTO199
|
||||
194 C$="I DON'T THINK SO...":GOSUB875:C$="I CHANGED MY MIND!!!"
|
||||
195 GOSUB875:GOTO199
|
||||
196 C$="WOW! YOU FOUND ONE!":GOSUB875
|
||||
199 RETURN
|
||||
200 REM*HEAD*
|
||||
202 POKEC+67,150:POKEC+68,150:POKEC+98,201:POKEC+101,200
|
||||
204 POKEC+130,140:POKEC+133,139:POKEC+162,199:POKEC+165,202
|
||||
206 POKEC+195,135:POKEC+196,135
|
||||
207 IFFNQ(10)>5THENC$="THERE'S THE HEAD.":GOSUB875:GOTO209
|
||||
208 C$="OOPS, SHE'S GOT HEAD!":GOSUB875
|
||||
209 RETURN
|
||||
210 REM*NECK*
|
||||
212 POKEC+195,210:POKEC+196,207:POKEC+227,190:POKEC+228,189
|
||||
215 C$="OH MY...A NECK.":GOSUB875
|
||||
219 RETURN
|
||||
220 REM*R.ARM*
|
||||
222 POKEC+226,189:FORM=C+257TOC+353STEP32:POKEM,143:NEXTM
|
||||
224 POKEC+354,208:POKEC+322,143:POKEC+290,143
|
||||
225 C$="LOOKS LIKE A BONY ARM":GOSUB875
|
||||
229 RETURN
|
||||
230 REM*L.ARM*
|
||||
232 POKEC+229,190:FORM=C+262TOC+358STEP32:POKEM,136:NEXTM
|
||||
234 POKEC+357,209:POKEC+325,136:POKEC+293,136
|
||||
235 C$="ANOTHER BONY ARM!":GOSUB875
|
||||
239 RETURN
|
||||
240 REM*R.LEG*
|
||||
242 POKEC+387,136:FORM=C+418TOC+514STEP32:POKEM,143:NEXTM
|
||||
244 POKEC+515,208:POKEC+483,143:POKEC+451,143:POKEC+419,143
|
||||
245 C$="OH, A LOVELY LEG!":GOSUB875
|
||||
249 RETURN
|
||||
250 REM*L.LEG*
|
||||
252 POKEC+388,143:FORM=C+421TOC+517STEP32:POKEM,136:NEXTM
|
||||
254 POKEC+516,128
|
||||
255 C$="ANOTHER PEACHY LEG...":GOSUB875
|
||||
259 RETURN
|
||||
260 REM*R.HAND*
|
||||
265 POKEC+386,89
|
||||
270 REM*L.HAND*
|
||||
275 POKEC+389,89
|
||||
276 C$="DISHPAN HANDS....":GOSUB875
|
||||
279 RETURN
|
||||
280 REM*FACE*
|
||||
285 POKEC+99,111:POKEC+100,111
|
||||
305 POKEC+131,220:POKEC+132,223:POKEC+163,135:POKEC+164,135
|
||||
308 C$="A LEWD EXPRESSION.":GOSUB875
|
||||
309 RETURN
|
||||
320 REM*R.FOOT*
|
||||
325 POKEC+547,140:POKEC+579,172
|
||||
330 REM*L.FOOT*
|
||||
335 POKEC+548,139:POKEC+580,172
|
||||
336 C$="WHAT GOES TIPTOE?":GOSUB875
|
||||
339 RETURN
|
||||
340 REM*CLOTHES*
|
||||
342 FORM=C+260TOC+356STEP32:POKEM,136:NEXTM
|
||||
344 POKEC+387,210:POKEC+388,207:POKEC+259,95
|
||||
346 C$="NOW SHE'S DRESSED!":GOSUB875
|
||||
349 RETURN
|
||||
600 REM*LAUGH*
|
||||
601 IFK>11THEN625
|
||||
605 FORM=1TO50
|
||||
606 POKEC+163,197:POKEC+164,195
|
||||
607 FORT=1TO50:NEXTT
|
||||
609 POKEC+163,135:POKEC+164,135
|
||||
611 FORT=1TO50:NEXTT
|
||||
615 NEXTM
|
||||
620 RETURN
|
||||
625 REM*KICK*
|
||||
627 FORM=1TO50
|
||||
630 POKEC+547,202:POKEC+548,199:POKEC+578,166:POKEC+581,168
|
||||
633 POKEC+579,32:POKEC+580,32
|
||||
635 FORT=1TO75:NEXTT
|
||||
638 POKEC+547,140:POKEC+548,139:POKEC+578,32:POKEC+581,32
|
||||
640 POKEC+579,172:POKEC+580,172
|
||||
645 FORT=1TO75:NEXTT
|
||||
650 NEXTM:RETURN
|
||||
800 REM*MAKE GALLOW*
|
||||
803 FORM=C+1TOC+4:POKEM,135:NEXTM:POKEC,210:POKEC+5,136:POKEC+37,136
|
||||
806 FORM=C+32TOC+17*32STEP32:POKEM,136:NEXTM:POKEM,209:POKEM-1,128
|
||||
809 FORN=M+1TOM+5:POKEN,128:NEXTN
|
||||
820 RETURN
|
||||
850 REM*POKE WORD*
|
||||
855 FORM=1TOLEN(A$):POKEP,ASC(MID$(A$,M,1)):P=P+1:NEXTM
|
||||
859 RETURN
|
||||
875 REM*DISP.MESG*
|
||||
885 PRINTCHR$(13);" ";CHR$(13);C$;
|
||||
886 FORT=1TO1500:NEXTT
|
||||
889 RETURN
|
||||
890 PRINTCHR$(13);" ";CHR$(13);C$;
|
||||
899 RETURN
|
||||
900 REM*GET WORD*
|
||||
905 T=FNQ(100)
|
||||
910 FORT1=1TOT:READB$:IFB$="*"THENRESTORE:READB$
|
||||
915 NEXTT1
|
||||
930 A$="":FORT=1TOLEN(B$):T1=ASC(MID$(B$,T,1))
|
||||
935 IFT1=65THENT1=91
|
||||
940 A$=A$+CHR$(T1-1):NEXTT
|
||||
950 B$=A$:RETURN
|
||||
960 REM*TEST*
|
||||
965 T=1:GOSUB910:PRINTB$:GOTO965
|
||||
1000 DATAIFMMP,RVJFU,EPPSLOPC,IVSSZ,BDJE,VOEFSXFBS,LJUDIFO,XBZ
|
||||
1010 DATAMJTUFO,SBDJOH,ZPVST,HPBU,CPPHFS,GJSTU,PQFSBUJPO,VUFOTJM
|
||||
1020 DATAIBQQZ,TLJQQFS,TXJUDI,VQQFS,BSNPS,KPZ,AJQQFS,XFSF,HFUUJOH
|
||||
1030 DATAQBOEB,BGSBJE,UPVDIZ,SJTL,DFOUT,QMFBTF,CVZ
|
||||
1040 DATAFOWFMPQF,SIZUIN,MJQTUJDL,PWFS,PCTBDMF,CVMC,CVSOFE,UIJT
|
||||
1045 DATAGSPN,OJCCMF,TUJOH,SPMMFS,RVJDLTBOE,TIFQIFSE,GSPNKFGG
|
||||
1050 DATADBOEMF,TQJEFS,DFSFBM,HPJOH,XIJTLFS,QPUUZ,XIFUIFS,VODMF,IPQF
|
||||
1060 DATA*
|
||||
143
apps/c1p/BASIC/jeffpar/LIFE.BAS
Normal file
143
apps/c1p/BASIC/jeffpar/LIFE.BAS
Normal file
|
|
@ -0,0 +1,143 @@
|
|||
1 REM-GRAPHICS WITH-
|
||||
2 REM-GEOMETRY/LIFE-
|
||||
3 REM--USER ROUTINE-
|
||||
4 REM--MEM.SIZE:8167
|
||||
5 RESTORE:B=8192:POKE11,232:POKE12,31:FORC=1TO24:PRINT:NEXT
|
||||
6 FORA=B-24TOB-1:READD:POKEA,D:NEXT
|
||||
7 DATA169,32,160,8,162,0,157,0,208,232,208
|
||||
8 DATA250,238,240,31,136,208,244,169,208,141,240,31,96
|
||||
10 REM-MAIN PROGRAM-
|
||||
12 DIMY(21,21),U(20)
|
||||
13 GOSUB800
|
||||
15 POKE8169,32:X=USR(X):AA=54023:G=1:Z=-1
|
||||
20 FORA=0TO18:POKEAA+A,128:POKEAA+19-A*32,136
|
||||
25 POKEAA-590-A,128:POKEAA-576+A*32,136
|
||||
30 NEXTA:POKEAA,209
|
||||
35 FORB=0TO9:FORA=0TO18:POKEAA-558-A+B*32,209
|
||||
40 IFB<9ANDA>0THENPOKEAA+A-(B+1)*32,128
|
||||
43 IFA=0THENPOKEAA-(B+1)*32,209
|
||||
45 IFA<18THENPOKEAA+A+1-B*32,209
|
||||
50 NEXTA,B
|
||||
55 B=64:A=AA+31:FORC=1TO19:POKEA+C,B+C:POKEA-C*32,B+C:NEXT
|
||||
60 MA=1:NA=1:MI=21:NI=21:REM--GRAPHING--
|
||||
65 POKEAA+102,123:POKEAA+104,44:POKEAA+106,124
|
||||
70 POKEAA+103,95:POKEAA+105,95:GOSUB1000:A=C:IFC<0THEN85
|
||||
73 POKEAA+103,96+C
|
||||
75 GOSUB1000:B=C:IFC<0THEN85
|
||||
77 POKEAA+105,96+C:FORT=1TO75:NEXT:POKEAA+A-1-(B-1)*32,161
|
||||
80 A=A+1:B=B+1:Y(A,B)=1:FORT=1TO250:NEXT:GOSUB400:GOTO70
|
||||
85 FORC=1TO24:PRINT:NEXT:FORT=1TO1000:NEXT:POKE8169,46:X=USR(X)
|
||||
87 AA=AA+31:GOSUB300:GOSUB200
|
||||
90 FORB=1TO21:FORA=1TO21:IFY(A,B)=0THEN100
|
||||
95 POKEAA+A-1-(B-1)*32,240:P=P+1
|
||||
100 NEXTA,B:IFP=0THEN15
|
||||
110 POKEAA+65,91:POKEAA+66,71:POKEAA+67,69:POKEAA+68,78:POKEAA+69,61
|
||||
112 POKEAA+73,32:POKEAA+74,32
|
||||
115 POKEAA+75,80:POKEAA+76,79:POKEAA+77,80:POKEAA+78,61:POKEAA+82,93
|
||||
117 C=3:G$=STR$(G)
|
||||
120 POKEAA+69+C,ASC(RIGHT$(G$,4-C)):C=C-1:IFC>0THEN120
|
||||
125 GOSUB605
|
||||
135 REM-LIFE/DEATH-
|
||||
140 K=0:FORB=MITOMA:FORA=NITONA
|
||||
143 R=PEEK(AA+A-1-(B-1)*32):P1=P:POKEAA+A-1-(B-1)*32,171
|
||||
145 IFY(A,B)<>0THEN155
|
||||
150 GOSUB500:IFX=B1THENY(A,B)=-1:POKEAA+A-1-(B-1)*32,240:P=P+1:K=1
|
||||
153 GOTO160
|
||||
155 GOSUB500:IFX<L1ORX>L2THENY(A,B)=2:POKEAA+A-1-(B-1)*32,46:P=P-1:K=1
|
||||
157 IFX1>0THENPOKEAA+82,43:POKEAA+83,93
|
||||
160 IFP<>P1THEN180
|
||||
170 POKEAA+A-1-(B-1)*32,R
|
||||
180 GOSUB605:NEXTA,B
|
||||
181 IFK=0THENGOSUB1000:GOTO15
|
||||
182 MA=1:NA=1:MI=21:NI=21
|
||||
183 FORA=1TO21:FORB=1TO21:IFY(A,B)=2THENY(A,B)=0
|
||||
185 IFY(A,B)=0THEN192
|
||||
187 IFY(A,B)=-1THENY(A,B)=1
|
||||
190 GOSUB400
|
||||
192 NEXTB,A
|
||||
193 IFP=0THENGOSUB1000:GOTO15
|
||||
194 K=0:GOSUB300:IFK=0THEN199
|
||||
195 GOSUB200:FORD=21TO1STEP-1:FORC=1TO21
|
||||
196 IFY(C,D)=0THENPOKEAA+C-1-(D-1)*32,46:GOTO198
|
||||
197 POKEAA+C-1-(D-1)*32,240
|
||||
198 NEXTC,D:GOSUB250
|
||||
199 G=G+1:GOTO117
|
||||
200 FORC=1TO19:U(C)=PEEK(AA+64+C):NEXT
|
||||
205 RESTORE:FORC=1TO100:READD:IFD>=0THENNEXT
|
||||
210 FORC=1TO19:READD:POKEAA+64+C,D:NEXT
|
||||
220 RETURN
|
||||
230 DATA-1,32,32,32,82,69,45,67,69,78,84,69,82,73,78,71,32,32,32,32
|
||||
250 FORC=1TO19:POKEAA+64+C,U(C):NEXT:RETURN
|
||||
300 L=INT(((21-MA)-(MI-1))/2+.5)
|
||||
301 IFL=0THEN350
|
||||
305 K=1:IFL>0THEN330
|
||||
310 FORD=1-LTO21:FORC=1TO21:Y(C,D+L)=Y(C,D)
|
||||
315 Y(C,D)=0
|
||||
320 NEXTC,D:MA=MA+L:MI=MI+L:GOTO350
|
||||
330 FORD=21-LTO1STEP-1:FORC=1TO21
|
||||
340 Y(C,D+L)=Y(C,D):Y(C,D)=0:NEXTC,D
|
||||
345 MA=MA+L:MI=MI+L
|
||||
350 L=INT(((21-NA)-(NI-1))/2)
|
||||
351 IFL=0THENRETURN
|
||||
355 K=1:IFL>0THEN375
|
||||
360 FORC=1-LTO21:FORD=1TO21
|
||||
365 Y(C+L,D)=Y(C,D):Y(C,D)=0:NEXTD,C
|
||||
370 NA=NA+L:NI=NI+L:RETURN
|
||||
375 FORC=21-LTO1STEP-1:FORD=1TO21
|
||||
380 Y(C+L,D)=Y(C,D):Y(C,D)=0:NEXTD,C
|
||||
385 NA=NA+L:NI=NI+L:RETURN
|
||||
400 IFB<=MITHENMI=B-1
|
||||
410 IFB>=MATHENMA=B+1
|
||||
420 IFA<=NITHENNI=A-1
|
||||
430 IFA>=NATHENNA=A+1
|
||||
445 IFMA>21THENMA=21
|
||||
450 IFMI<1THENMI=1
|
||||
465 IFNA>21THENNA=21
|
||||
470 IFNI<1THENNI=1
|
||||
480 RETURN
|
||||
500 X=0:X1=0
|
||||
505 FORC=C1*-1TOC1STEPC1:FORD=C1*-1TOC1STEPC1
|
||||
507 IFA+C<1ORA+C>21ORB+D<1ORB+D>21THENX1=1:GOTO525
|
||||
510 IFY(A+C,B+D)<1OR(C=0ANDD=0)THEN525
|
||||
515 X=X+1
|
||||
525 NEXTD,C
|
||||
530 RETURN
|
||||
600 Z=Z*-1
|
||||
605 G$=STR$(P):C=3
|
||||
606 IFZ>0THEN615
|
||||
610 POKEAA+78+C,ASC(RIGHT$(G$,4-C)):C=C-1:IFC>0THEN610
|
||||
612 GOTO620
|
||||
615 POKEAA+79,32:POKEAA+80,32:POKEAA+81,32
|
||||
620 RETURN
|
||||
800 PRINT" WHAT ARE THE LOWER/":PRINT:PRINT" UPPER SURVIVAL LIMITS.."
|
||||
805 INPUTL1,L2:PRINT
|
||||
810 PRINT" INPUT BIRTH FACTOR";:INPUTB1
|
||||
820 PRINT:PRINT" INPUT CELL DISTANCE";:INPUTC1
|
||||
825 FORC=1TO24:PRINT:NEXT:RETURN
|
||||
1000 REM--SCAN--
|
||||
1005 C=0:K=57088:POKE530,1
|
||||
1007 FORT=1TO150:NEXT
|
||||
1010 POKEK,223:IFPEEK(K)=191THENC=12
|
||||
1015 IFPEEK(K)=223THENC=15
|
||||
1017 IFPEEK(K)=247THENC=-1
|
||||
1020 POKEK,239:IFPEEK(K)=191THENC=5
|
||||
1025 IFPEEK(K)=223THENC=18
|
||||
1030 IFPEEK(K)=253THENC=9
|
||||
1035 POKEK,247:IFPEEK(K)=191THENC=4
|
||||
1037 IFPEEK(K)=127THENC=19
|
||||
1040 IFPEEK(K)=223THENC=6
|
||||
1045 IFPEEK(K)=239THENC=7
|
||||
1050 IFPEEK(K)=247THENC=8
|
||||
1055 IFPEEK(K)=251THENC=10
|
||||
1060 IFPEEK(K)=253THENC=11
|
||||
1065 POKEK,251:IFPEEK(K)=191THENC=3
|
||||
1070 IFPEEK(K)=239THENC=2
|
||||
1075 IFPEEK(K)=247THENC=14
|
||||
1080 IFPEEK(K)=251THENC=13
|
||||
1085 POKEK,253:IFPEEK(K)=127THENC=17
|
||||
1090 IFPEEK(K)=191THENC=1
|
||||
1093 IFPEEK(K)=223THENC=20
|
||||
1095 IFPEEK(K)=253THENC=16
|
||||
1100 IFC=0THEN1010
|
||||
1105 IFC=20THENY(A,B)=0:POKEAA+A-2-(B-2)*32,209:C=0:GOTO1010
|
||||
1110 POKE530,0:RETURN
|
||||
212
apps/c1p/BASIC/jeffpar/OTHELLO.BAS
Normal file
212
apps/c1p/BASIC/jeffpar/OTHELLO.BAS
Normal file
|
|
@ -0,0 +1,212 @@
|
|||
10 REM - OTHELLO -
|
||||
15 REM
|
||||
20 A=53184:CO=79:CX=88
|
||||
21 POKE11,0:POKE12,253
|
||||
25 PL=1
|
||||
30 GOSUB9000
|
||||
40 DIMB(8,8)
|
||||
50 B(4,5)=1:B(5,5)=2:B(4,4)=2:B(5,4)=1
|
||||
60 GOSUB8000
|
||||
70 GOSUB7000
|
||||
80 GOSUB6000
|
||||
90 GOSUB5000
|
||||
100 GOSUB4000
|
||||
110 GOTO60
|
||||
999 END
|
||||
4000 REM - MAKE MOVE IN TABLE -
|
||||
4010 IFUP=0ANDDN=0ANDLF=0ANDRT=0ANDUL=0ANDUR=0ANDLL=0ANDLR=0THEN4990
|
||||
4020 B(C,R)=PL
|
||||
4030 IFUP=0THEN4100
|
||||
4040 FORZ=1TOUP
|
||||
4050 B(C,R+Z)=PL
|
||||
4060 NEXT
|
||||
4100 IFDN=0THEN4200
|
||||
4110 FORZ=1TODN
|
||||
4120 B(C,R-Z)=PL
|
||||
4130 NEXT
|
||||
4200 IFLF=0THEN4300
|
||||
4210 FORZ=1TOLF
|
||||
4220 B(C-Z,R)=PL
|
||||
4230 NEXT
|
||||
4300 IFRT=0THEN4400
|
||||
4310 FORZ=1TORT
|
||||
4320 B(C+Z,R)=PL
|
||||
4330 NEXT
|
||||
4400 IFUL=0THEN4500
|
||||
4410 FORZ=1TOUL
|
||||
4420 B(C-Z,R+Z)=PL
|
||||
4430 NEXT
|
||||
4500 IFUR=0THEN4600
|
||||
4510 FORZ=1TOUR
|
||||
4520 B(C+Z,R+Z)=PL
|
||||
4530 NEXT
|
||||
4600 IFLL=0THEN4700
|
||||
4610 FORZ=1TOLL
|
||||
4620 B(C-Z,R-Z)=PL
|
||||
4630 NEXT
|
||||
4700 IFLR=0THEN4900
|
||||
4710 FORZ=1TOLR
|
||||
4720 B(C+Z,R-Z)=PL
|
||||
4730 NEXT
|
||||
4900 PL=3-PL
|
||||
4990 RETURN
|
||||
5000 REM - LEGAL MOVE? -
|
||||
5010 UP=0:DN=0:LF=0:RT=0:UL=0:UR=0:LL=0:LR=0
|
||||
5020 IFB(C,R)<>0THENGOTO5990
|
||||
5030 FORTR=R-1TO1STEP-1
|
||||
5040 IFTR<1THENDN=0:GOTO5100
|
||||
5045 IFB(C,TR)=0THENDN=0:GOTO5100
|
||||
5050 IFB(C,TR)=3-PLANDTR>1THENDN=DN+1
|
||||
5060 IFB(C,TR)=PLTHENGOTO5100
|
||||
5070 NEXT
|
||||
5080 DN=0
|
||||
5100 FORTR=R+1TO8
|
||||
5110 IFTR>8THENUP=0:GOTO5200
|
||||
5115 IFB(C,TR)=0THENUP=0:GOTO5200
|
||||
5120 IFB(C,TR)=(3-PL)ANDTR<8THENUP=UP+1
|
||||
5130 IFB(C,TR)=PLTHENGOTO5200
|
||||
5140 NEXT
|
||||
5150 UP=0
|
||||
5200 FORTC=C-1TO1STEP-1
|
||||
5210 IFTC<1THENLF=0:GOTO5300
|
||||
5215 IFB(TC,R)=0THENLF=0:GOTO5300
|
||||
5220 IFB(TC,R)=(3-PL)ANDTC>1THENLF=LF+1
|
||||
5230 IFB(TC,R)=PLTHENGOTO5300
|
||||
5240 NEXT
|
||||
5250 LF=0
|
||||
5300 FORTC=C+1TO8
|
||||
5310 IFTC>8THENRT=0:GOTO5400
|
||||
5315 IFB(TC,R)=0THENRT=0:GOTO5400
|
||||
5320 IFB(TC,R)=(3-PL)ANDTC<8THENRT=RT+1
|
||||
5330 IFB(TC,R)=PLTHENGOTO5400
|
||||
5340 NEXT
|
||||
5350 RT=0
|
||||
5400 TC=C-1
|
||||
5410 FORTR=R+1TO8
|
||||
5420 IFTR>8ORTC<1THENUL=0:GOTO5500
|
||||
5425 IFB(TC,TR)=0THENUL=0:GOTO5500
|
||||
5430 IFB(TC,TR)=(3-PL)ANDTR<8ANDTC>1THENUL=UL+1
|
||||
5440 IFB(TC,TR)=PLTHENGOTO5500
|
||||
5450 TC=TC-1
|
||||
5460 NEXT
|
||||
5470 UL=0
|
||||
5500 TC=C+1
|
||||
5510 FORTR=R+1TO8
|
||||
5520 IFTR>8ORTC>8THENUR=0:GOTO5600
|
||||
5525 IFB(TC,TR)=0THENUR=0:GOTO5600
|
||||
5530 IFB(TC,TR)=(3-PL)ANDTR<8ANDTC<8THENUR=UR+1
|
||||
5540 IFB(TC,TR)=PLTHENGOTO5600
|
||||
5550 TC=TC+1
|
||||
5560 NEXT
|
||||
5570 UR=0
|
||||
5600 TC=C-1
|
||||
5610 FORTR=R-1TO1STEP-1
|
||||
5620 IFTR<1ORTC<1THENLL=0:GOTO5700
|
||||
5625 IFB(TC,TR)=0THENLL=0:GOTO5700
|
||||
5630 IFB(TC,TR)=(3-PL)ANDTR>1ANDTC>1THENLL=LL+1
|
||||
5640 IFB(TC,TR)=PLTHENGOTO5700
|
||||
5650 TC=TC-1
|
||||
5660 NEXT
|
||||
5670 LL=0
|
||||
5700 TC=C+1
|
||||
5710 FORTR=R-1TO1STEP-1
|
||||
5720 IFTR<1ORTC>8THENLR=0:GOTO5990
|
||||
5725 IFB(TC,TR)=0THENLR=0:GOTO5990
|
||||
5730 IFB(TC,TR)=(3-PL)ANDTR>1ANDTC<8THENLR=LR+1
|
||||
5740 IFB(TC,TR)=PLTHENGOTO5990
|
||||
5750 TC=TC+1
|
||||
5760 NEXT
|
||||
5770 LR=0
|
||||
5990 RETURN
|
||||
6000 REM - CHECK INPUT -
|
||||
6010 REM - AND SET UP -
|
||||
6020 REM - R (ROW) AND -
|
||||
6030 REM - C (COLUMN) -
|
||||
6040 IFLEN(I$)<>2THENGOSUB7000:GOTO6040
|
||||
6050 C1=ASC(LEFT$(I$,1)):C2=ASC(RIGHT$(I$,1))
|
||||
6060 IF(C1>=65)AND(C1<=72)THENR=C1:GOTO6080
|
||||
6070 IF(C2>=65)AND(C2<=72)THENR=C2:GOTO6090
|
||||
6075 GOSUB7000:GOTO6040
|
||||
6080 IF(C2<49)OR(C2>56)THENGOSUB7000:GOTO6040
|
||||
6085 C=C2:GOTO6100
|
||||
6090 IF(C1<49)OR(C1>56)THENGOSUB7000:GOTO6040
|
||||
6095 C=C1
|
||||
6100 C=C-48:R=R-64
|
||||
6990 RETURN
|
||||
7000 REM - INPUT MOVE -
|
||||
7001 POKE(A+256+20*32+18),(PL+48)
|
||||
7005 I$="":T2=A+256+21*32+7
|
||||
7006 FORX=1TO20:POKE(T2+X),32:NEXT
|
||||
7009 POKET2,63:T2=T2+1:POKET2,161
|
||||
7010 T1=USR(T1):T1=PEEK(531)
|
||||
7011 IFT1=13THEN7030
|
||||
7012 IFT1<>127THEN7019
|
||||
7013 IFI$=""THEN7010
|
||||
7015 POKET2,32:T2=T2-1:POKET2,161
|
||||
7017 IFLEN(I$)=1THENI$="":GOTO7010
|
||||
7018 I$=LEFT$(I$,LEN(I$)-1):GOTO7010
|
||||
7019 I$=I$+CHR$(T1)
|
||||
7020 POKET2,T1:T2=T2+1:POKET2,161
|
||||
7023 IFLEN(I$)>10THENGOTO7000
|
||||
7025 GOTO7010
|
||||
7030 FORY=1TO8
|
||||
7990 RETURN
|
||||
8000 REM - MAKE MOVE -
|
||||
8010 S=A+8*32+7
|
||||
8020 FORX=1TO8
|
||||
8030 FORY=1TO8
|
||||
8040 P=S+2*X+2*32*(8-Y)
|
||||
8050 IFB(X,Y)=1THENPOKEP,CX
|
||||
8060 IFB(X,Y)=2THENPOKEP,CO
|
||||
8080 NEXTY,X
|
||||
8990 RETURN
|
||||
9000 REM - FRAME -
|
||||
9010 T1=A+256
|
||||
9020 FORY=1TO24
|
||||
9030 PRINT
|
||||
9040 NEXT
|
||||
9050 FORX=1TO16
|
||||
9060 POKE(A+224+X+7),128
|
||||
9070 NEXT
|
||||
9080 FORY=1TO16STEP2
|
||||
9090 FORX=1TO8
|
||||
9100 T2=2*(X-1)
|
||||
9110 POKE(T1+(Y-1)*32+8+T2),136
|
||||
9120 POKE(T1+Y*32+8+T2),209
|
||||
9130 POKE(T1+Y*32+9+T2),128
|
||||
9140 NEXTX
|
||||
9150 POKE(T1+(Y-1)*32+8+2*(X-1)),136
|
||||
9160 POKE(T1+Y*32+8+2*(X-1)),136
|
||||
9170 NEXTY
|
||||
9180 T3=T1+6
|
||||
9190 T4=T3+577
|
||||
9200 FORZ=1TO8
|
||||
9210 POKE(T3+2*(8-Z)*32),((Z-1)+65)
|
||||
9220 POKE(T4+2*Z),((Z-1)+49)
|
||||
9230 NEXT
|
||||
9240 T2=A+903
|
||||
9250 POKET2,ASC("P"):T2=T2+1
|
||||
9260 POKET2,ASC("L"):T2=T2+1
|
||||
9270 POKET2,ASC("A"):T2=T2+1
|
||||
9280 POKET2,ASC("Y"):T2=T2+1
|
||||
9290 POKET2,ASC("E"):T2=T2+1
|
||||
9300 POKET2,ASC("R"):T2=T2+1
|
||||
9310 T2=T2+1
|
||||
9320 POKET2,ASC("N"):T2=T2+1
|
||||
9330 POKET2,ASC("O"):T2=T2+1
|
||||
9340 POKET2,ASC("."):T2=T2+3
|
||||
9350 POKET2,ASC(":"):T2=T2+1
|
||||
9990 RETURN
|
||||
10000 REM - FUN -
|
||||
10005 A=53248
|
||||
10010 FORX=1TO24:PRINT:NEXT:T1=A+263
|
||||
10020 FORX=1TO16
|
||||
10025 FORY=1TO8
|
||||
10026 POKET1+(X-2)*32,32
|
||||
10035 NEXTY,X
|
||||
10040 FORX=16TO1STEP-1
|
||||
10045 FORY=8TO1STEP-1
|
||||
10046 POKET1+X*32,32
|
||||
10050 POKET1+(X-1)*32,(9-Y)+127
|
||||
10055 NEXTY,X
|
||||
10060 GOTO10020
|
||||
60
apps/c1p/BASIC/jeffpar/SOFORECAST.BAS
Normal file
60
apps/c1p/BASIC/jeffpar/SOFORECAST.BAS
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
5 FORC=1TO24:PRINT:NEXT
|
||||
10 PRINT" ENTER NO. OF TYPES":PRINT:PRINT" OF DATA PER YEAR";:INPUTN
|
||||
20 PRINT:PRINT" INPUT NAME FOR:":PRINT
|
||||
25 FORC=1TON:PRINT" TYPE";C;:INPUTB$(C):NEXTC
|
||||
30 PRINT
|
||||
99 X=1:DIMA(4,4,12),P(4,12),S(4)
|
||||
100 PRINT" WHAT IS THE YEAR OF":PRINT:PRINT" DATA-BASE";X;
|
||||
105 INPUTY(X):IFY(X)=0THEN150
|
||||
110 FORT=1TON:PRINT
|
||||
111 PRINT" ";B$(T);"'S";:INPUTA$:FORM=1TO11:FORC=1TO255
|
||||
120 IFC=LEN(A$)THENPRINT:PRINT" DATA ERROR":PRINT:GOTO111
|
||||
125 IFMID$(A$,C,1)=";"ORMID$(A$,C,1)="/"THEN131
|
||||
130 NEXTC
|
||||
131 REM-SIFTING DATA-
|
||||
135 A(X,T,M)=VAL(A$):A$=MID$(A$,C+1):NEXTM
|
||||
140 A(X,T,M)=VAL(A$)
|
||||
145 NEXTT:X=X+1:PRINT:GOTO100
|
||||
150 FORT=1TON:S(T)=0:FORM=1TO12:P(T,M)=0:FORX1=1TOX-1
|
||||
155 P(T,M)=P(T,M)+A(X1,T,M):NEXTX1:P(T,M)=P(T,M)/(X-1)
|
||||
156 S(T)=S(T)+P(T,M)
|
||||
160 NEXTM,T:FORT=1TON:FORM=1TO12:P(T,M)=P(T,M)/S(T):NEXTM,T
|
||||
170 FORC=1TO24:PRINT:NEXTC
|
||||
180 INPUT" ENTER BASE YEAR";B
|
||||
182 PRINT:PRINT" ENTER GROWTH RATE FOR:"
|
||||
183 PRINT
|
||||
184 FORY=1TON:PRINT" ";B$(Y);"'S";:INPUTG(Y):NEXTY
|
||||
190 FORT=1TON
|
||||
215 Z=0:GOSUB500:IFZ=1THENT1=S:GOTO227
|
||||
220 PRINT" WHAT WAS THE TOTAL":PRINT:PRINT" FOR BASE YEAR";B
|
||||
225 PRINT:PRINT" (";B$(T);"'S)";:INPUTT1
|
||||
227 T(T)=T1:IFT>1THENFORV=1TO3000:NEXTV:GOTO230
|
||||
228 INPUT" FORECAST YEAR";F
|
||||
230 GOSUB235:NEXTT:GOTO264
|
||||
235 TT=T1*(1+G(T)/100)^(F-B)
|
||||
239 PRINT:PRINT:RESTORE
|
||||
240 PRINT" FORECAST YEAR";F:PRINT
|
||||
241 PRINT" (";B$(T);"'S)":PRINT
|
||||
243 FORM=1TO12STEP3:FORC=1TO3
|
||||
245 READB$,E(C):PRINTTAB(E(C));B$;:NEXTC:PRINT
|
||||
250 FORC=1TO3:PRINTTAB(E(C));INT(TT*P(T,M+C-1));
|
||||
260 NEXTC:PRINT:PRINT:NEXTM:RETURN
|
||||
264 PRINT
|
||||
267 PRINT" ENTER OTHER YEARS FOR":PRINT:PRINT" FORECASTING, BASED ON"
|
||||
270 PRINT:PRINTB;"FIGURES...."
|
||||
273 X1=1:PRINT
|
||||
275 INPUT" ";F(X1):IFF(X1)=0THEN280
|
||||
277 X1=X1+1:GOTO275
|
||||
280 IFX1=1THENPRINT:PRINT" TO BEGIN AGAIN,":PRINT:GOTO180
|
||||
282 FORX2=1TOX1-1:F=F(X2)
|
||||
283 FORT=1TON:T1=T(T):GOSUB235
|
||||
285 FORV=1TO4000:NEXTV,T
|
||||
286 NEXTX2
|
||||
288 PRINT:GOTO267
|
||||
300 END
|
||||
400 DATAJAN,1,FEB,9,MAR,17,APR,1,MAY,9,JUN,17,JUL,1,AUG,9,SEP,17,OCT,1
|
||||
410 DATANOV,9,DEC,17
|
||||
500 FORX1=1TOX-1:IFY(X1)<>BTHENNEXTX1
|
||||
505 IFY(X1)<>BTHENRETURN
|
||||
510 S=0:FORM1=1TO12:S=S+A(X1,T,M1):NEXTM1
|
||||
530 Z=1:PRINT:RETURN
|
||||
70
apps/c1p/BASIC/jeffpar/TUBELIST.BAS
Normal file
70
apps/c1p/BASIC/jeffpar/TUBELIST.BAS
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
10 FORC=1TO24:PRINT:IFC=17THENGOSUB110
|
||||
20 NEXTC
|
||||
30 GOSUB100:RESTORE:PRINT" What tube are you":PRINT
|
||||
40 INPUT" looking for";A$
|
||||
50 READB$,C$
|
||||
60 IFC$="0"THENGOSUB100:PRINT"SORRY, OUT OF STOCK.":GOTO30
|
||||
65 IFB$=A$THEN73
|
||||
70 IFVAL(C$)=0THENREADE$:GOTO50
|
||||
72 GOTO50
|
||||
73 IFVAL(C$)=0THENREADE$:D$=C$:C$=E$:GOTO80
|
||||
76 D$=""
|
||||
80 GOSUB100:PRINT" GOOD NEWS. WE HAVE":PRINT:PRINT" ";C$;" ";B$;D$;
|
||||
85 IFVAL(C$)>1THENPRINT"'S";
|
||||
90 PRINT" IN STOCK"
|
||||
91 FORT=1TO3000:NEXTT
|
||||
92 READB$,C$
|
||||
94 IFB$=A$THEN73
|
||||
95 IFB$="A"THEN30
|
||||
96 IFVAL(C$)=0THENREADE$
|
||||
98 GOTO92
|
||||
100 PRINT:PRINTTAB(6);"******":PRINT:RETURN
|
||||
110 PRINT" ROBERT G. PARSONS'":PRINT:PRINT" COMPUTER TUBE LIST":RETURN
|
||||
210 DATA0A3,2,0A4,1,0B2,2,0C3,1,0D3,1,1A7,GT,1,1AX2,4,1C6,1,1G3,GT,5
|
||||
220 DATA1H5,2,1J3,1,1N5,GT,2,1P5,GT,1,1R5,4,1S5,4,1U4,6,1U5,2,1X2,B,4
|
||||
230 DATA2A5,1,2A7,2,2BN4,A,3,2CY5,2,2GK5,1,2HK5,1,2X2,2,3A3,B,1,3AL5,1
|
||||
240 DATA3BC5,2,3BN6,6,3BU8,1,3BY6,1,3BZ6,4,3CB6,6,3CS6,1,3CY5,4,3DG4,1
|
||||
250 DATA3DK6,4,3ER5,1,3FS5,1,3GK5,1,3HA5,1,3S4,1,3V4,2,4BN6,1,4BQ7,A,5
|
||||
260 DATA4BU8,1,4BZ6,7,4CB6,4,4DT6,1,4GK5,1,5AM8,1,5AN8,1,5AQ5,2,5AR4,1
|
||||
270 DATA5AT8,3,5AU4,2,5AX8,3,5CG8,3,5CL8,A,2,5CZ5,1,5GH8,A,1,5GS7,2
|
||||
280 DATA5J6,3,5T8,1,5U4,GB,5,5U8,5,5V4,G,3,5V6,GT,1,5W4,1,5Y3,G,1
|
||||
290 DATA5Y3,GT,3,5Y3,GT/G,1,5Y4,G,2,6A7,2,6AC7,6,6AF4,2,6AG5,7,6AG7,3
|
||||
300 DATA6AH4,5,6AH4,GT,1,6AH6,4,6AH8,1,6AJ6,1,6AK5,2,6AK6,2,6AK8,1
|
||||
310 DATA6AL3,1,6AL5,4,6AM8,A,3,6AN8,A,3,6AQ5,19,6AQ6,4,6AQ7,GT,1,6AS5,
|
||||
320 DATA3,6AS8,2,6AT8,A,2,6AU4,GT,2,6AU5,GT,1,6AU6,10,6AU8,3,6AV5,GA,2
|
||||
330 DATA6AV6,5,6AW8,2,6AW8,A,1,6AX4,10,6AX4,GTB,3,6B8,2,6BA6,3,6BA8,A
|
||||
340 DATA1,6BC5,7,6BC8,1,6BE6,1,6BG6,G,1,6BH8,3,6BJ6,3,6BK5,2,6BK7,1
|
||||
350 DATA6BL7,G,1,6BL8,14,6BN4,A,3,6BN6,1,6BN8,3,6BQ5,7,6BQ6,GA,3
|
||||
360 DATA6BQ6,GTA,1,6BQ6,GTB,4,6BQ7,9,6BR8,A,1,6BS8,4,6BU8,3,6BX7,G,1
|
||||
370 DATA6BY5,GT,1,6BY8,2,6BZ6,3,6BZ7,2,6BZ8,2,6C4,9,6C5,1,6CB6,15
|
||||
380 DATA6CD6,2,6CD6,GA,1,6CF6,6,6CF7,1,6CG7,17,6CG8,A,3,6CJ3,1,6CL6,1
|
||||
390 DATA6CM6,3,6CM7,6,6CN7,2,6CQ8,6,6CR6,1,6CS6,1,6CU8,1,6CX8,4,6CY5,5
|
||||
400 DATA6D6,5,6DA5,1,6DE4,1,6DE6,3,6DK6,2,6DN7,1,6DQ6,1,6DQ6,B,3,6DS4,
|
||||
410 DATA1,6DT6,A,2,6DW4,B,1,6DX8,1,6DY4,1,6E5,1,6EA7,1,6EA8,6,6EB8,1
|
||||
420 DATA6EJ7,1,6ER5,1,6ES5,2,6EW6,1,6F5,1,6F7,1,6F8,G,3,6FD7,1,6FG7,3
|
||||
430 DATA6FQ7,8,6GE5,1,6GF7,A,2,6GH8,A,5,6GK5,3,6GK6,2,6GN8,2,6GU7,2
|
||||
440 DATA6GY6,2,6H6,2,6HA5,2,6HF8,1,6HG8,1,6HJ8,1,6HS8,9,6J4,2,6J5,1
|
||||
450 DATA6J5,GT,1,6J6,A,4,6J7,2,6JC5,1,6JC6,A,2,6JH6,1,6JM6,1,6JN6,1
|
||||
460 DATA6JN8,1,6JU8,A,1,6K6,GT,4,6K7,15,6K7,GT,1,6K8,1,6KA8,1,6KE8,4
|
||||
470 DATA6KT8,1,6LJ8,1,6LT8,2,6N7,3,6P5,3,6P5,GT,1,6S4,A,6,6SA7,6,6SC7
|
||||
480 DATA2,6SF5,2,6SG7,2,6SJ7,4,6SK7,2,6SL7,2,6SN7,3,6SN7,GT,8,6SQ7,10
|
||||
490 DATA6T4,1,6T8,3,6T8,A,4,6U5,1,6U7,1,6U8,1,6U8,A,2,6V3,A,2,6V6,2
|
||||
500 DATA6V6,GT,6,6W6,GT,2,6X4,5,6X5,5,6X8,10,6Z10,1,7A4,1,7A5,1,7A6,1
|
||||
510 DATA7A7,2,7A8,1,7B7,1,7C5,1,7C7,1,7F8,2,7N7,4,7N7,GT,1,7V7,1
|
||||
520 DATA7AU7,1,7AF7,1,7HG8,1,8AU8,1,8B10,1,8BA11,1,8CG7,3,8CM7,2,8CN7,
|
||||
530 DATA2,8LT8,2,9A8,1,9AU7,1,10DE7,2,10GK6,1,10GN8,2,11AR11,11,117L7,
|
||||
540 DATA117Z6,1,12A6,10,12A8,1,12AB5,2,12AT7,A,1,12AU6,1,12AU7,A,8
|
||||
550 DATA12AV6,8,12AX4,GTB,4,12AX7,A,4,12AZ7,1,12B4,3,12B4,A,2,12BA6,6
|
||||
560 DATA12BA7,4,12BE6,7,12BH7,A,6,12BR7,1,12BY7,2,12BZ7,1,12CA5,1
|
||||
570 DATA12DT8,3,12DQ6,2,12DQ6,B,2,12FX5,1,12GN7,A,4,12K8,1,12L6,1
|
||||
580 DATA12Q7,1,12SA7,3,12SF7,1,12SG7,1,12SH7,2,12SJ7,1,12SK7,7
|
||||
590 DATA12SN7,GT,1,12SQ7,11,13DR7,1,13EN7,1,14A7,1,14B6,2,15BD11,1
|
||||
600 DATA15CW5,1,17AX4,1,17BE3,1,17BF11,1,17CT3,1,17D4,1,17DQ6,2
|
||||
610 DATA17DQ6,B,2,17EW8,1,17J28,1,19CL8,A,1,19T8,5,2050,3,25AX4,GT,2
|
||||
620 DATA25BQ6,5,25BQ6,GA,1,25BQ6,GT,1,25C5,3,25L6,1,25L6,GT,4,25W4,2
|
||||
630 DATA25Z5,2,25Z6,GT,1,26,4,27,2,33G47,A,1,33CYL,A,1,35A5,2,35C5,4
|
||||
640 DATA35L6,GT,2,35W4,5,35Y4,2,35Z3,1,35Z5,1,35Z5,GT,5,41,4,45,6
|
||||
650 DATA50A5,1,50B5,1,50C5,7,50EH5,1,50L6,GT,6,53,1,55,2,56,2,57,3,58
|
||||
660 DATA2,59,2,6010,1,6146,A,1,71,A,3,75,2,76,3,78,1,CRC78,1,80,4,82,1
|
||||
670 DATA884,6,VR90,1,9001,1,9002,1,9003,1
|
||||
10000 DATAA,0
|
||||
Loading…
Reference in a new issue