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
|
|
@ -1,143 +0,0 @@
|
|||
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
|
||||
Loading…
Reference in a new issue