|
|
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 m
Length: 5543 (0x15a7)
Types: TextFile
Names: »main.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/Sun/Tetris/main.c«
#include "defs.h"
static short icon_image[] = {
#include "tetris.icon"
};
mpr_static(tetris_icon, 64, 64, 1, icon_image);
main(argc, argv)
int argc;
char **argv;
{
int i;
Icon icon;
icon = icon_create(ICON_IMAGE, &tetris_icon, 0);
frame = window_create(NULL, FRAME,
FRAME_LABEL, "tetris",
FRAME_ICON, icon,
FRAME_ARGS, argc, argv,
0);
panel = window_create(frame, PANEL,
WIN_WIDTH, UWIDTH * UNIT,
0);
score_item = panel_create_item(panel, PANEL_MESSAGE,
PANEL_ITEM_X, ATTR_COL(0),
PANEL_ITEM_Y, ATTR_ROW(0),
PANEL_LABEL_STRING, "Score: 0",
0);
level_item = panel_create_item(panel, PANEL_MESSAGE,
PANEL_ITEM_X, ATTR_COL(0),
PANEL_ITEM_Y, ATTR_ROW(1),
PANEL_LABEL_STRING, "Level: 0",
0);
rows_item = panel_create_item(panel, PANEL_MESSAGE,
PANEL_ITEM_X, ATTR_COL(0),
PANEL_ITEM_Y, ATTR_ROW(2),
PANEL_LABEL_STRING, "Rows : 0",
0);
game_over = panel_create_item(panel, PANEL_MESSAGE,
PANEL_ITEM_X, ATTR_COL(0),
PANEL_ITEM_Y, ATTR_ROW(3),
PANEL_LABEL_STRING, "Game Over",
PANEL_SHOW_ITEM, FALSE,
0);
panel_create_item(panel, PANEL_BUTTON,
PANEL_ITEM_X, ATTR_COL(13),
PANEL_ITEM_Y, ATTR_ROW(0),
PANEL_LABEL_IMAGE, panel_button_image(panel, "Start", 0, 0),
PANEL_NOTIFY_PROC, start_proc,
0);
panel_create_item(panel, PANEL_BUTTON,
PANEL_ITEM_X, ATTR_COL(13),
PANEL_ITEM_Y, ATTR_ROW(1),
PANEL_LABEL_IMAGE, panel_button_image(panel, "Pause", 0, 0),
PANEL_NOTIFY_PROC, pause_proc,
0);
panel_create_item(panel, PANEL_BUTTON,
PANEL_ITEM_X, ATTR_COL(13),
PANEL_ITEM_Y, ATTR_ROW(2),
PANEL_LABEL_IMAGE, panel_button_image(panel, "New Game", 0, 0),
PANEL_NOTIFY_PROC, restart_proc,
0);
panel_create_item(panel, PANEL_BUTTON,
PANEL_ITEM_X, ATTR_COL(13),
PANEL_ITEM_Y, ATTR_ROW(3),
PANEL_LABEL_IMAGE, panel_button_image(panel, "Scores", 0, 0),
PANEL_NOTIFY_PROC, print_high_scores,
0);
panel_create_item(panel, PANEL_BUTTON,
PANEL_ITEM_X, ATTR_COL(13),
PANEL_ITEM_Y, ATTR_ROW(4),
PANEL_LABEL_IMAGE, panel_button_image(panel, "Quit", 0, 0),
PANEL_NOTIFY_PROC, quit_proc,
0);
window_fit_height(panel);
canvas = window_create(frame, CANVAS,
WIN_X, 0,
WIN_BELOW, panel,
WIN_WIDTH, UWIDTH * UNIT,
WIN_HEIGHT, UHEIGHT * UNIT + SHADOW_HEIGHT + NEXT_HEIGHT,
WIN_EVENT_PROC, canvas_event_proc,
0);
pw = canvas_pixwin(canvas);
setup_colours(pw);
window_fit(frame);
initialise();
score_frame = window_create(frame, FRAME,
WIN_SHOW, FALSE,
0);
score_panel = window_create(score_frame, PANEL,
WIN_WIDTH, ATTR_COLS(80),
WIN_HEIGHT, ATTR_ROWS(HIGH_TABLE_SIZE + 1),
0);
for (i = 0; i < HIGH_TABLE_SIZE + 1; i++)
high_score_item[i] = panel_create_item(score_panel, PANEL_MESSAGE,
PANEL_ITEM_X, ATTR_COL(0),
PANEL_ITEM_Y, ATTR_ROW(i),
PANEL_LABEL_STRING, " ",
0);
panel_set(high_score_item[0], PANEL_LABEL_BOLD, TRUE, PANEL_LABEL_STRING, "Pos Name Score Rows Lev Machine When", 0);
panel_create_item(score_panel, PANEL_BUTTON,
PANEL_LABEL_IMAGE, panel_button_image(score_panel, "done", 0, 0),
PANEL_NOTIFY_PROC, done_proc,
PANEL_ITEM_X, ATTR_COL(76),
PANEL_ITEM_Y, ATTR_ROW(0),
0);
window_fit(score_panel);
window_fit(score_frame);
init_timer();
window_main_loop(frame);
exit(0);
}