added stripping and life example

This commit is contained in:
Luxferre
2026-06-23 11:32:35 +03:00
parent bf8738d665
commit ea19ae3311
2 changed files with 78 additions and 1 deletions
+76
View File
@@ -0,0 +1,76 @@
10 #=365
20 S=Y<F*Y+(Y=0*E)+(Y=F)-1*O+(X<Q*X+(X=0*O)+(X=Q))
25 :S)=:S)+2
30 X=X+1-(J<X*3)+(J-1=X*(Y=I))
40 Y=J-1=X+Y
50 #=I+1>Y*20
70 #=90
80 #=:I-1*O+J)/2*0+%*20
90 J=J+1-(O=J*O)
100 I=J=1+I
110 ?="";
120 X=J-1
130 Y=I-1
140 #=I<F*80
150 I=1
160 J=1
180 $=27
182 #=G=0*188
184 ?="[0;0H";
186 #=190
188 ?="[2J";
190 P=0
200 K=I-1*O+J
210 :K)=:K)<5+(:K)>8)=0
220 P=P+:K)
230 $=:K)*B+32
240 J=J+1-(J=O*O)
250 #=1<J*200
260 ?=""
270 I=I+1
280 #=I<F*200
290 ?="GEN = ";
300 ?=G
310 G=G+1
320 ?=" POP = ";
330 ?=P
335 ?=" ";
340 I=1
350 J=1
360 #=0<P*110+(P=0*650)
365 I=1
385 $=27
387 ?="[2J "
388 B=0
389 G=0
390 ?="SIZE? ";
400 O=?
410 Q=O+1
420 ?="BY? ";
430 E=?
432 $=27
434 ?="[2J ";
435 $=13
440 F=E+1
450 J=O*E+2
460 #=J*2+&>**390
470 :I)=0
480 I=I+1
490 #=J>I*470
500 I=1
510 ?=""
520 J=1
530 #=1>10*550
540 ?=" ";
550 ?=I
560 ?=" ";
570 L=$
575 A=L=13+(L=32)+(L=95)+(L=64)+(L=8)=0
576 B=B>1*B+(B=0*A*(L-32))
580 :I-1*O+J)=A*6
590 J=J+1-(L=95+(L=8)*2)
600 #=L=13*620+(L=64*510)
610 #=J<Q*570
620 I=I+1
625 #=I<F*510
627 #=150
+2 -1
View File
@@ -29,7 +29,7 @@ function getvar(varname, c, cmd) {
c = (cmd | getline c) > 0 ? int(c) : 0 c = (cmd | getline c) > 0 ? int(c) : 0
close(cmd); return c close(cmd); return c
} }
if(varname == "?") { getline c; return evalexpr(c) } if(varname == "?") { getline c; sub(/\r$/, "", c); return evalexpr(c) }
if(varname == "'") return int(rand()*65536) if(varname == "'") return int(rand()*65536)
return (varname in VARS) ? VARS[varname] : 0 return (varname in VARS) ? VARS[varname] : 0
} }
@@ -108,6 +108,7 @@ BEGIN {
} }
{ {
sub(/\r$/, "")
ln = int($1) % 65536; if(NF > 1) $1 = "" ln = int($1) % 65536; if(NF > 1) $1 = ""
gsub(/^[[:blank:]]+|[[:blank:]]+$/, "") gsub(/^[[:blank:]]+|[[:blank:]]+$/, "")
if(ln > 0) { if(ln > 0) {