From d4cc620d075b68ab67faf42a0b46ba932d9dc4cf Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 15 Nov 2023 10:18:08 -0800 Subject: [PATCH] Add missing 1993/rince alt code, second version --- 1993/rince/.gitignore | 1 + 1993/rince/rince.alt2.c | 124 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 1993/rince/rince.alt2.c diff --git a/1993/rince/.gitignore b/1993/rince/.gitignore index 70de81aee..c935df6bd 100644 --- a/1993/rince/.gitignore +++ b/1993/rince/.gitignore @@ -2,4 +2,5 @@ jkb rince rince.orig rince.alt +rince.alt2 prog.orig diff --git a/1993/rince/rince.alt2.c b/1993/rince/rince.alt2.c new file mode 100644 index 000000000..ff1e90310 --- /dev/null +++ b/1993/rince/rince.alt2.c @@ -0,0 +1,124 @@ +/** J.K.Bonfield ** +^ < +^ > +< # > v +< < +< > > < v +X X h +x X h +X x ^ k +^ ^ +^ # +X X X X + +^ v +v v +v # +v X +v x +> # < v +> > +X X l +x X l + +41 20 +######################################## +# # +# < < < < <> < < < # +# > > > <> > > > > # +# < < < < <> < < < # +# > > > <> > > > > # +# < < < < <> < < < # +# > > > <> > > > > # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# # +# X # +########################################*/ +#include +#include +#include +#include +#include +int _tty_ch; +bool _echoit; +bool _rawmode; +int _tty; +#define U char +#define G for( +#define I )malloc(sizeof( + +typedef struct z {U x[20]; struct z*y; } j; j*J[2][256]; +struct timeval v= {0,1<y) { + U*f=t->x; + if (d==f[17]|f[17]==c) { + int i=k&2,u=9,k=1,w=x,_=y,T; + G; + --u||(d-f[8]&&(X[y][x]=f[8]),w---_--,i=0,u=8,k--);) { + _+=P[T=i>u?u:i]-'o'; + w+=P[4+T]-'p'; + if(k) { + if (d-f[i]&&f[i]-X[_][w]) break; + i++; + } else + f[++i+8]-d && (X[_][w]=f[i+8]); +} } } } } } + +jmp_buf E; + +int main(int open, U**exit) { + FILE*C=fopen ( + open-2?__FILE__:*++exit,P+8); + j*t; + volatile int Q,Y=0; + int i,q; d=open-2?'\t':'*'; L: + + Q=0; G; setjmp(E)<256; Q-- + ) + longjmp(E,(J[Y][Q]=0,Q++)); + G; ; ) { + if(!C)return 1; + if('\n'==(c=getc(C))) + if(!Y++)goto L; else + { fscanf(C,"%d %d\n",&i,&q); + X=(U**I P++)*q*(i+1)); + Q=0; G; Qy=J[Y][c]; J[Y][c]=t; + fgets(t->x,20,C); } + endwin(); +}