DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦2d13ac7ed⟧ TextFile

    Length: 5543 (0x15a7)
    Types: TextFile
    Names: »main.c«

Derivation

└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
    └─⟦this⟧ »EUUGD18/Sun/Tetris/main.c« 

TextFile

#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);
}