|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T i
Length: 2189 (0x88d)
Types: TextFile
Names: »init.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/X/Xtetris/init.c«
#include "defs.h"
#include "tetris.xicon"
#include <sys/types.h>
#include <sys/timeb.h>
#include <pwd.h>
initialise()
{
struct passwd *who;
char *getenv();
int i;
srand((int) time((time_t *) 0));
define_shapes();
if ((name = getenv("TETRIS")) == NULL) {
who = getpwuid(getuid());
name = who->pw_name;
}
print_authors();
tetris_icon = XCreateBitmapFromData(XtDisplay(frame),
XtWindow(frame),
tetris_bits, tetris_width, tetris_height);
i=0;
XtSetArg(args[i], XtNiconPixmap, tetris_icon); i++;
XtSetValues(toplevel, args, i);
init_all();
read_high_scores();
}
init_all()
{
int i, j;
score_position = -1;
end_of_game = 0;
rows = score = shape_no = rot = xpos = ypos = 0;
for (i = 0; i < UWIDTH; i++)
for (j = 0; j < UHEIGHT; j++)
grid[i][j] = 0;
create_shape(); /* Set up 1st shape */
create_shape(); /* Set up next shape */
XSetFunction(XtDisplay(toplevel), gc, GXclear);
XFillRectangle(XtDisplay(toplevel), XtWindow(canvas), gc,
0, 0, UNIT * UWIDTH, UNIT * UHEIGHT);
XSetFunction(XtDisplay(toplevel), gc, GXcopy);
XSetLineAttributes(XtDisplay(toplevel), gc,
1, LineSolid, CapButt, JoinMiter);
XDrawLine(XtDisplay(toplevel), XtWindow(canvas), gc,
0, UHEIGHT * UNIT, UWIDTH * UNIT, UHEIGHT * UNIT);
XDrawLine(XtDisplay(toplevel), XtWindow(canvas), gc,
0, UHEIGHT * UNIT + SHADOW_HEIGHT,
UWIDTH * UNIT, UHEIGHT * UNIT + SHADOW_HEIGHT);
XDrawLine(XtDisplay(toplevel), XtWindow(canvas), gc,
UWIDTH * UNIT, 0,
UWIDTH * UNIT, UHEIGHT * UNIT + SHADOW_HEIGHT + NEXT_HEIGHT);
XFlush(XtDisplay(toplevel));
i=0;
XtSetArg(args[i], XtNstring, " "); i++;
XtSetValues(game_over, args, i);
show_score();
show_next();
draw_shadow(shape_no, xpos, ypos, rot, shape[shape_no].color);
}