void main(void) { char *fname = "NAMECARD.DAT"; char name[NAME_SIZE]; int i; card *t; init_card(); while ((i = select_menu()) != 8) { switch (i) { case 1 : input_card(); break; case 2 : printf("\n Input name to delete -> "); gets(name); if (!delete_card(name)) printf("\n Can't find that name."); break; case 3 : printf("\n Input name to search -> "); gets(name); t = search_card(name); if (t == NULL) { printf("\n Can't find that name."); break; } print_header(stdout); print_card(t, stdout); break; case 4 : load_cards(fname); break; case 5 : save_cards(fname); break; case 6 : t = head->next; print_header(stdout); while (t != tail) { print_card(t, stdout); t = t->next; } break; case 7 : t = head->next; print_header(stdprn); while (t != tail) { print_card(t, stdprn); t = t->next; } break; } } printf("\n\nProgram ends..."); }
int game() { int menu = 0; load_cards(); load_menu(); if ((irq_set = keyboard_subscribe_int()) == 1) { vg_exit(); return 1; } while (menu == 0) { if (keyboard_int_handler(irq_set) == 0) { if (scancode == 0x82) { menu = 1; vg_fill(0xff); vg_draw("/usr/src/drivers/proj/images/image_nivel3.mg", 64, 167, 428, 36); vg_draw_all(&d1, 134, 180); vg_draw("/usr/src/drivers/proj/images/image_selected.mg", d1.cards[0]->height, d1.cards[0]->width, d1.posx[0], d1.posy[0]); } else { if (scancode == 0x83) { vg_exit(); return 0; } } } } while (game_over == 0) { if (keyboard_int_handler(irq_set) == 0) { game_handling(&d1); } } if (keyboard_unsubscribe_int() != 0) { return 1; } sleep(5); vg_exit(); return 0; }