Move 1988-2004 entries into subdirs
We we move 1988-2004 entries from all of a year's winning entries in a single directory to each winner being in their own sub-directory under the given year directory.
This commit is contained in:
1 parent
1e82e8aa3e
commit
d2a42f42e8
478 files changed
No files matched your search
@@ -0,0 +1,48 @@
|
||||
#include <stdio.h>
|
||||
#define l "=================================================="
|
||||
#define m " "
|
||||
int _(
|
||||
float x,
|
||||
float y){
|
||||
return x>=0&&x<50&&y>=0&&y<20;}
|
||||
int main (){
|
||||
char a[2][20][51],c[9][4][51][51],d[100];
|
||||
int e,f,g,h=0,i,j=0,k,b=0,n[9],o[9],p[9],x[9],y[9],q[9],r,s,t;
|
||||
float u[9],v[9],w[9],z[9];
|
||||
printf ("i%s\033Yppppppppppppppppppp1G0",l);
|
||||
do sprintf(a[0][j],"%s",m,
|
||||
sprintf (a[1][j],"%s",l));
|
||||
while (++j<20);
|
||||
scanf ("%d %d\n",&r,&s);
|
||||
gets (d);
|
||||
do {
|
||||
sscanf (d,"%d %d %f %f %f %f %d %d %d",&o[b],&p[b],&u[b],&v[b],&w[b],&z[b],&x[b],&y[b],&q[b],j=n[b]=i=0);
|
||||
do do c[b][i][j][x[b]]=!
|
||||
gets (c[b][i][j]);
|
||||
while (++j<y[b]);
|
||||
while (++i<q[b]+(j=0)||!++b);}
|
||||
while (
|
||||
gets (d)||(i=t=e=f=0));
|
||||
do {
|
||||
do strncpy(a[h][i],m,50);
|
||||
while (++i<20||(i=0));
|
||||
do if (t>=o[i]&&t<=p[i]&&!(k=j=0))
|
||||
do do if (_(u[i]+k,v[i]+j))a[h][(
|
||||
int )v[i]+j][(
|
||||
int )u[i]+k]=c[i][n[i]][j][k];
|
||||
while (++k<x[i]);
|
||||
while (++j<y[i]+(k=0)||((++n[i]-q[i]||(n[i]=0)),u[i]+=w[i],v[i]+=z[i],0));
|
||||
while (++i<b||(k=j=g=0));
|
||||
do do if (a[1-h][j][k]!=a[h][j][k]){f-j&&
|
||||
printf ("%dG0",j+1,e=0,g+=4);k&&e>k&&
|
||||
printf ("0%d ",k,g+=4);k&&e<k&&k-e>1&&
|
||||
printf ("%d ",k-e,g+=3);k&&e<k&&k-e==1&&
|
||||
printf (" ",g++);
|
||||
printf ("r%c",a[h][j][k],g+=2,e=k,f=j);}
|
||||
while (++k<50);
|
||||
while (++j<20+(k=0));
|
||||
do printf ("1G0",g+=3,e=f=0);
|
||||
while (g<s);h=1-h;}
|
||||
while (++t<=r+(i=0));
|
||||
return !
|
||||
puts ("");}
|
||||
@@ -0,0 +1,145 @@
|
||||
Best Non-Use of Curses:
|
||||
|
||||
Mark Schnitzius
|
||||
Eclipse Group
|
||||
94 Richardson St
|
||||
Albert Park, VIC 3206
|
||||
Australia
|
||||
|
||||
|
||||
Judges' Comments:
|
||||
|
||||
To build:
|
||||
|
||||
make schnitzi
|
||||
|
||||
Try:
|
||||
|
||||
On some systems (Some sort of UNIX with "vim") try the following
|
||||
|
||||
./schnitzi <schnitzi.inp0 | vi
|
||||
./schnitzi <schnitzi.inp1 | vi
|
||||
|
||||
For others, create an output file and use your system
|
||||
pasteboard/selection/cut buffer to "input" the output into vi
|
||||
|
||||
./schnitzi <schnitzi.inp0 >schnitzi.out0
|
||||
./schnitzi <schnitzi.inp1 >schnitzi.out1
|
||||
|
||||
This exemplifies the meaning of Visual Editor, but we don't think
|
||||
that any benchmarking sites are going to use this to tout the
|
||||
performance of the latest hardware!
|
||||
|
||||
|
||||
Selected Author's Comments:
|
||||
|
||||
If you've ever pasted a large chunk of text into an editor (such as
|
||||
'vi') without first putting it into insert mode, or turning off
|
||||
the auto-indent, you know the dismay of watching your screen fill
|
||||
up with misaligned junk.
|
||||
|
||||
It's not the editor's fault. The editor is just acting just as if
|
||||
you typed exactly what you're pasting. (Of course, you could blame
|
||||
the editor for being modal in the first place, but that's a
|
||||
discussion for another time.)
|
||||
|
||||
It occurred to me that you could get interesting results by pasting
|
||||
a carefully designed string into the editor. In fact, if the pasted
|
||||
string contains cursor navigation commands, you can go back and
|
||||
overwrite things that were already inserted earlier in string,
|
||||
anywhere on the screen. Can you see where this is going?
|
||||
|
||||
|
||||
ANIMATION!
|
||||
|
||||
The program takes input from stdin which defines the animated
|
||||
elements (sprites) that appear on the screen. For each sprite,
|
||||
you can specify exactly when and how long it will appear, and which
|
||||
direction it is moving. Also, the sprite can oscillate between
|
||||
up to four different views, which appear in subsequent frames.
|
||||
Forgive me, animators, if I'm mangling the terminology. Sprites
|
||||
which appear later in the input file will be drawn in front of
|
||||
sprites which appear earlier.
|
||||
|
||||
The output, to stdout, is a string which, when pasted into vi, will
|
||||
perform the animation defined in the input. [The vi editor is a
|
||||
common (and ancient) editor that should be available on most Unix,
|
||||
Linux, Solaris, and Mac OS X machines; you can get it on Windows
|
||||
by installing Cygwin, which is how I do it.]
|
||||
|
||||
|
||||
THE INPUT
|
||||
|
||||
It's easiest to place the input in a file, so you can redirect it
|
||||
to stdin when running the program. What follows is a detailed
|
||||
description of the input file format.
|
||||
|
||||
The first line is specified thusly:
|
||||
|
||||
[duration] [timefactor]
|
||||
|
||||
The first parameter, duration, defines how long the animation will
|
||||
run. The second, timefactor, is used as sort of a fudge factor
|
||||
for machines that run too fast to see the animation. A timefactor
|
||||
of 0 means, "run the animation as fast as you can". On a pretty
|
||||
fast machine, I've had to set it as high as 2000 to get the
|
||||
animation to slow down sufficiently. Note that the higher the
|
||||
timefactor, the longer the output string that you'll have to copy-
|
||||
and-paste, as extra characters are necessary to "waste time" between
|
||||
frames.
|
||||
|
||||
Following the first line parameters, you may have up to nine
|
||||
different sprites, each up 50 by 50 in size, and with up to four
|
||||
different 'views' of that object, which are cycled through with
|
||||
each successive frame. Each sprite begins with a line of parameters
|
||||
of the following form:
|
||||
|
||||
[start] [end] [x] [y] [dx] [dy] [cols] [rows] [viewcount]
|
||||
|
||||
where:
|
||||
|
||||
'start' is the time at which this sprite first appears
|
||||
'end' is the time at which it disappears
|
||||
'x' is the horizontal position at which it starts
|
||||
'y' is the vertical position
|
||||
'dx' is the amount that the x position changes per frame
|
||||
'dy' is the amount that the y position changes per frame
|
||||
'cols' is the number of columns in each view
|
||||
'rows' is the number of rows in each view
|
||||
'viewcount' is the number of views to cycle through
|
||||
|
||||
Each such parameter line will be followed by 'viewcount'
|
||||
view frames, each with 'rows' rows and 'cols' columns.
|
||||
|
||||
Input is terminated by end of file. Duh.
|
||||
|
||||
Two samples input files are included; one a nice pastoral park
|
||||
scene, the other a bit of scrolling text.
|
||||
|
||||
|
||||
RUNNING THE ANIMATION
|
||||
|
||||
Try one of these methods to get the animation to run:
|
||||
|
||||
1. Redirect the output directly to vi, like this:
|
||||
|
||||
./schnitzi < input.dat | vi
|
||||
|
||||
2. Redirect the output to a file, like this:
|
||||
|
||||
./schnitzi < input.dat > output.dat
|
||||
|
||||
Then, open the output file, select the text, and copy it
|
||||
to your system pasteboard/cut/selection buffer and paste
|
||||
it into vi. The paste is NOT the vi paste command, but
|
||||
rather an action you take within your operating system.
|
||||
On a Windows machine running vi via Cygwin, "Edit|Paste"
|
||||
is a right-click menu option on the top window bar.
|
||||
|
||||
3. Memorize the output, and type it into vi really really fast.
|
||||
|
||||
|
||||
A FINAL NOTE
|
||||
|
||||
I would like to remind the Pixar Animation Studios that I retain
|
||||
royalties on this technique.
|
||||
@@ -0,0 +1,42 @@
|
||||
100 1000
|
||||
0 1000 0 10 0.0 0.0 50 2 1
|
||||
------------------------------\~~~~~~~~~~~~~~~~~~~
|
||||
\__________________
|
||||
0 1000 44 7 -0.1 0.0 7 4 1
|
||||
|\
|
||||
| \
|
||||
__----_
|
||||
\_____/
|
||||
0 90 40 2 -0.2 0.1 4 2 4
|
||||
_ _
|
||||
\/
|
||||
|
||||
____
|
||||
_/\_
|
||||
|
||||
|
||||
____
|
||||
0 1000 15 8 0.0 0.0 5 6 1
|
||||
*
|
||||
***
|
||||
*****
|
||||
***
|
||||
I
|
||||
I
|
||||
0 1000 2 12 0.5 0.0 8 3 1
|
||||
__o
|
||||
_ \<,_
|
||||
(_)/ (_)
|
||||
0 1000 20 10 0.0 0.0 5 6 1
|
||||
*
|
||||
***
|
||||
*****
|
||||
***
|
||||
I
|
||||
I
|
||||
0 1000 3 2 0.0 0.0 9 5 1
|
||||
\_|_/
|
||||
/ \
|
||||
-( :-) )-
|
||||
\___/
|
||||
/ | \
|
||||
@@ -0,0 +1,6 @@
|
||||
30 2000
|
||||
0 100 10 25 0.0 -1.0 25 4 1
|
||||
A long time
|
||||
ago, in a
|
||||
galaxy far, far
|
||||
away....
|
||||
Reference in new issue
Block a user