int main( int argc, char** argv ){ int ch; while( ( ch = getopt( argc, argv, "hve" ) ) != -1 ){ switch( ch ){ case 'h': puts( "nphear [-e] [-v] [-h]\n" ); break; case '?': puts( "-h help\n" ); break; case 'e': puts( "edito" ); break; case 'v': puts( VERSION ); break; } } start_curses(); start_ck(); erase(); int run = 1; while( run ){ int opt = menu(); if( opt == 0 ) run = 0; else if( opt > 0){ do { opt = game( opt ); } while( opt ); } else if( opt < 0){ opt = editor( -( opt ) ); } //if( msgbox( "quit" ) == 'q' ) run = 0; } end_curses(); return 0; }
/***************************** main function *****************************/ int main(int argc, char **argv) { struct map *map; int x0, y0, x1, y1; /* parse args */ if (argc < 6) { fprintf(stderr, "%s needs at least 5 arguments (%d were given)\n", PROGRAM_NAME, argc-1); fprintf(stderr, "usage: %s mapfile x0 y0 x1 y1 (time_interval - optional)\n", PROGRAM_NAME); exit(EXIT_FAILURE); } x0 = atoi(argv[2]); y0 = atoi(argv[3]); x1 = atoi(argv[4]); y1 = atoi(argv[5]); g_curses_interval = 0; if (argc > 6) { g_curses_interval = atoi(argv[6]); } map = load_map(argv[1]); if (!map) { fprintf(stderr, "Error loading map.\n"); exit(EXIT_FAILURE); } if ((x0 <= 0 || x0 >= map->width-1) || (x1 <= 0 || x1 >= map->width-1) || (y0 <= 0 || y0 >= map->height-1) || (y1 <= 0 || y1 >= map->height-1)) { fprintf(stderr, "Coordinates are not in range.\n"); exit(EXIT_FAILURE); } /* initialise the curses animation if we're using that */ if (g_curses_interval > 0) { init_curses(); } make_path(map, x0, y0, x1, y1); if (g_curses_interval > 0) { end_curses(); } else { print_path(map, x0, y0, x1, y1); } map_destroy(map); return EXIT_SUCCESS; }
int main(void){ init_curses(); // blue_disp(); // getch(); //ボタン入力待ち // red_disp(); // disp_tile_row( 3, 5, 5); // disp_tile_row( 3, 5, 7); getch(); //ボタン入力待ち end_curses(); return 0; }
int main(int argc, char *argv[]) { int serverport; char *serveraddr; if (argc >= 3) { serveraddr = argv[1]; serverport = atoi(argv[2]); } else { puts("Usage: ping [server] [port]"); exit(0); } unsigned int seed = time(NULL); srandom(seed); SLEEPT = 125000; user1_serving = 1; user1_serving_now = 1; user_served = 0; init_curses(); init_game(); netset(serverport, serveraddr); redraw(); serve(); while (!end) { redraw(); userctl(getch()); peersync(); move_ball(); redraw(); usleep(SLEEPT); } end_curses(); return 0; }
int main() { char key; largeur=21; hauteur=7; tableau = (int*) malloc(largeur*hauteur*sizeof(int)); vaisseau=')';// D)]#->??* load_highscore(); init_curses(); srand((unsigned int) time(NULL)); anim_debut(); help(); /* Boucle principale, menu */ do { key=wgetch(menubar); switch(key) { case 'n': partie(); break; case 's': view_highscores(); break; case 'a': help(); break; case 'q': end_curses(); return 0; } } while (1); }
int main() { if (oamlInitAudioDevice(44100, 2) != OAML_OK) { fprintf(stderr, "Unable to open audio device!\n"); exit(1); } oamlInit("oaml.defs"); // for some better random numbers (and not always the same) srand(time(NULL)); init_curses(); main_menu(); oamlShutdown(); end_curses(); // free the allocated memory for the highscore read_highscore(NULL); // close the logfile glog(NULL); return EXIT_SUCCESS; }
int main (int argc, char **argv) { logfilepath = getenv ("HOME"); logfilepath = strcat (logfilepath, "/.ooview.log"); load_config(); initscr(); raw(); noecho(); start_color(); keypad(stdscr,TRUE); init_pair(1, COLOR_WHITE, COLOR_BLACK); init_pair(2, COLOR_RED, COLOR_WHITE); init_pair(3, COLOR_BLUE, COLOR_WHITE); init_pair(4, COLOR_BLACK, COLOR_WHITE); bkgd(COLOR_PAIR(1)); curs_set(0); menu_bar = subwin(stdscr,1,COLS,0,0); wbkgd(menu_bar,COLOR_PAIR(2)); waddstr(menu_bar,"File"); wattron(menu_bar, COLOR_PAIR(3)); waddstr(menu_bar,"<F1>"); wattroff(menu_bar, COLOR_PAIR(3)); wmove(menu_bar, 0, 19); waddstr(menu_bar,"View"); wattron(menu_bar, COLOR_PAIR(3)); waddstr(menu_bar,"<F2>"); wattroff(menu_bar, COLOR_PAIR(3)); wmove(menu_bar, 0, 34); waddstr(menu_bar,"Options"); wattron(menu_bar, COLOR_PAIR(3)); waddstr(menu_bar,"<F3>"); wattroff(menu_bar, COLOR_PAIR(3)); wmove(menu_bar, 0, 53); waddstr(menu_bar,"Help"); wattron(menu_bar, COLOR_PAIR(3)); waddstr(menu_bar,"<F4>"); wattroff(menu_bar, COLOR_PAIR(3)); status_bar = subwin(stdscr,1,COLS,LINES-1,0); wbkgd(status_bar,COLOR_PAIR(4)); n_choices[0] = ARRAY_SIZE(file_choices); n_choices[1] = ARRAY_SIZE(view_choices); n_choices[2] = ARRAY_SIZE(opts_choices); n_choices[3] = ARRAY_SIZE(help_choices); file_items = (ITEM **)calloc(n_choices[0] + 1, sizeof(ITEM *)); view_items = (ITEM **)calloc(n_choices[1] + 1, sizeof(ITEM *)); opts_items = (ITEM **)calloc(n_choices[2] + 1, sizeof(ITEM *)); help_items = (ITEM **)calloc(n_choices[3] + 1, sizeof(ITEM *)); for (i=0; i<n_choices[0]; ++i) file_items[i] = new_item(file_choices[i], NULL); for (i=0; i<n_choices[1]; ++i) view_items[i] = new_item(view_choices[i], NULL); for (i=0; i<n_choices[2]; ++i) opts_items[i] = new_item(opts_choices[i], NULL); for (i=0; i<n_choices[3]; ++i) help_items[i] = new_item(help_choices[i], NULL); file_items[n_choices[0]] = (ITEM *)NULL; view_items[n_choices[1]] = (ITEM *)NULL; opts_items[n_choices[2]] = (ITEM *)NULL; help_items[n_choices[3]] = (ITEM *)NULL; file_menu = new_menu((ITEM **)file_items); view_menu = new_menu((ITEM **)view_items); opts_menu = new_menu((ITEM **)opts_items); help_menu = new_menu((ITEM **)help_items); set_menu_mark(file_menu, ""); set_menu_mark(view_menu, ""); set_menu_mark(opts_menu, ""); set_menu_mark(help_menu, ""); init_screen(); if (argc == 2) open_file(argv[1]); while ((c = getch()) != EXIT_KEY) { action_performed = false; switch (c) { case KEY_F(1): cur_menu=1; break; case KEY_F(2): cur_menu=2; break; case KEY_F(3): cur_menu=3; break; case KEY_F(4): cur_menu=4; break; case KEY_UP: if ((file_printed) && (buffer->cur_line > 1)) { int backsteps = 0; int steps; char *tmp; if ((*--cur_char)==NEWLINE) backsteps++; tmp = cur_char - 1; if ((*--cur_char) == NEWLINE) { cur_char = tmp; print_status_bar("yeah"); } else { do { cur_char--; backsteps++; } while (((*cur_char)!=NEWLINE) && (cur_char != buffer->content)); if (backsteps > COLS) { int test; test = backsteps/COLS; steps = (backsteps%COLS); if (test>1) steps += COLS; mvwprintw(status_bar,0,0,"%d",steps); touchwin(status_bar); wrefresh(status_bar); cur_char += backsteps; cur_char -= steps; } } buffer->cur_line--; print_site(buffer->cur_line, buffer->lines); if (cur_char!=buffer->content) print_file(buffer,++cur_char); else print_file(buffer,cur_char); } break; case KEY_DOWN: if ((file_printed) && (buffer->cur_line < buffer->lines)) { int cols=0; while (((*cur_char)!=NEWLINE) && (cols < COLS-1)) { cols++; cur_char++; } buffer->cur_line++; print_site(buffer->cur_line, buffer->lines); print_file(buffer,++cur_char); } break; default: if (meta_win!=NULL) { delwin(meta_win); touchwin(stdscr); refresh(); } } if (cur_menu == 1) { file_win = newwin(8,19,1,0); keypad(file_win,TRUE); box(file_win,0,0); set_menu_win(file_menu, file_win); set_menu_sub(file_menu, derwin(file_win,6,17,1,1)); post_menu(file_menu); while (c = wgetch(file_win)) { if (c == KEY_DOWN) menu_driver(file_menu, REQ_DOWN_ITEM); else if (c == KEY_UP) menu_driver(file_menu, REQ_UP_ITEM); else if (c == KEY_RIGHT) { cur_menu = 2; break; } else if (c == KEY_LEFT) { cur_menu = 4; break; } else if (c == RETURN) { cur_menu = 0; cmd = (char *)item_name(current_item(file_menu)); action_performed = true; break; } else { cur_menu = 0; break; } } unpost_menu(file_menu); touchwin(stdscr); wrefresh(stdscr); } if (cur_menu == 2) { view_win = newwin(6,15,1,19); keypad(view_win,TRUE); box(view_win,0,0); set_menu_win(view_menu, view_win); set_menu_sub(view_menu, derwin(view_win,4,13,1,1)); post_menu(view_menu); while (c = wgetch(view_win)) { if (c == KEY_DOWN) menu_driver(view_menu, REQ_DOWN_ITEM); else if (c == KEY_UP) menu_driver(view_menu, REQ_UP_ITEM); else if (c == KEY_RIGHT) { cur_menu = 3; break; } else if (c == KEY_LEFT) { cur_menu = 1; break; } else if (c == RETURN) { cur_menu = 0; cmd = (char *)item_name(current_item(view_menu)); action_performed = true; break; } else { cur_menu = 0; break; } } unpost_menu(view_menu); touchwin(stdscr); refresh(); } if (cur_menu == 3) { opts_win = newwin(5,19,1,34); keypad(opts_win,TRUE); box(opts_win,0,0); set_menu_win(opts_menu, opts_win); set_menu_sub(opts_menu, derwin(opts_win,3,17,1,1)); post_menu(opts_menu); while (c = wgetch(opts_win)) { if (c == KEY_DOWN) menu_driver(opts_menu, REQ_DOWN_ITEM); else if (c == KEY_UP) menu_driver(opts_menu, REQ_UP_ITEM); else if (c == KEY_RIGHT) { cur_menu = 4; break; } else if (c == KEY_LEFT) { cur_menu = 2; break; } else if (c == RETURN) { cur_menu = 0; cmd = (char *)item_name(current_item(opts_menu)); action_performed = true; break; } else { cur_menu = 0; break; } } unpost_menu(opts_menu); touchwin(stdscr); refresh(); } if (cur_menu == 4) { help_win = newwin(6,17,1,53); keypad(help_win,TRUE); box(help_win,0,0); set_menu_win(help_menu, help_win); set_menu_sub(help_menu, derwin(help_win,4,15,1,1)); post_menu(help_menu); while (c = wgetch(help_win)) { if (c == KEY_DOWN) menu_driver(help_menu, REQ_DOWN_ITEM); else if (c == KEY_UP) menu_driver(help_menu, REQ_UP_ITEM); else if (c == KEY_RIGHT) { cur_menu = 1; break; } else if (c == KEY_LEFT) { cur_menu = 3; break; } else if (c == RETURN) { cur_menu = 0; cmd = (char *)item_name(current_item(help_menu)); action_performed = true; break; } else { cur_menu = 0; break; } } unpost_menu(help_menu); touchwin(stdscr); refresh(); } if (action_performed) { char file[80]; clear_status_bar(); if (!strcmp(cmd,"Open")) { if (file_printed==false) { print_status_bar("Enter a file: "); curs_set(1); echo(); wscanw(status_bar,"%s",file); /* get filename from user */ curs_set(0); noecho(); open_file(file); } else { print_status_bar("Please close current file."); } } if (!strcmp(cmd,"Close")) { if (file_printed) { free(buffer); werase(main_win); init_screen(); wrefresh(main_win); file_printed = false; system("rm -rf /tmp/ooview"); } else { print_status_bar("No open file!"); } } if (!strcmp(cmd,"Reload")) { if (file_printed) { if (strstr(file,".ovd")!=NULL) /* ovd*/ { ovd_file = fopen(file,"r"); if (ovd_file != NULL) { free(buffer); buffer = (struct fileinfo *)malloc(sizeof(struct fileinfo)); main_win = subwin(stdscr,LINES-2,COLS,1,0); get_file_content(ovd_file, file, buffer); fclose(ovd_file); cur_char = buffer->content; print_site(buffer->cur_line, buffer->lines); print_file(buffer,cur_char); file_printed = true; } else { print_status_bar("File does not exist!"); } } else /* else if odt */ { free(buffer); buffer = (struct fileinfo *)malloc(sizeof(struct fileinfo)); main_win= subwin(stdscr,LINES-2,COLS,1,0); open_odt(file,buffer); get_file_meta("/tmp/ooview/meta.xml",buffer); cur_char = buffer->content; print_site(buffer->cur_line, buffer->lines); print_file(buffer,cur_char); file_printed = true; } } else { print_status_bar("No open file!"); } } if (!strcmp(cmd,"Document info")) { if (file_printed) { if (file_type==1) { meta_win = newwin(9,COLS-2,(LINES/2)-5,1); wbkgd(meta_win,COLOR_PAIR(4)); mvwprintw(meta_win,1,1,"Genarator: %s", buffer->generator); mvwprintw(meta_win,2,1,"Initial creator:\t%s", buffer->initial_creator); mvwprintw(meta_win,3,1,"Creation date:\t\t%s", buffer->creation_date); mvwprintw(meta_win,4,1,"Creator:\t\t%s", buffer->creator); mvwprintw(meta_win,5,1,"Date:\t\t\t%s", buffer->date); mvwprintw(meta_win,6,1,"Editing cycles:\t%s", buffer->editing_cycles); mvwprintw(meta_win,7,1,"Editing duration:\t%s", buffer->editing_duration); box(meta_win,0,0); wrefresh(meta_win); touchwin(meta_win); } } else { print_status_bar("No open file!"); } } if (!strcmp(cmd,"OOView homepage")) { char *syscall; syscall=(char *)malloc(strlen(BROWSER)+strlen(HOMEPAGE_URL)+1); sprintf(syscall, "%s %s", BROWSER, HOMEPAGE_URL); system(syscall); free(syscall); if (file_printed) free(buffer); end_curses(); return(0); } if (!strcmp(cmd,"Documentation")) { char *syscall; syscall=(char *)malloc(strlen(BROWSER)+strlen(HOMEPAGE_URL)+1); sprintf(syscall, "%s %s", BROWSER, HOMEPAGE_URL); system(syscall); free(syscall); if (file_printed) free(buffer); end_curses(); return(0); } if (!strcmp(cmd, "About OOView")) print_status_bar("OOView. Visit Homepage for details"); if (!strcmp(cmd, "Copying")) print_status_bar("OOView is under GPL/2 Visit Homepage for details"); if (!strcmp(cmd, "Find")) { if (file_printed) { print_status_bar("Enter string to find: "); char *findit; curs_set(1); echo(); wscanw(status_bar,"%s",findit); /* how to find a string in a string? find it -> set cursor to position */ print_status_bar("Not implemented yet :("); curs_set(0); noecho(); } else { print_status_bar("No open file!"); } } if (!strcmp(cmd, "External Programs")) { char *prompt; /*getting printer command*/ prompt = (char *)malloc((strlen("Enter Printing Command []: ")+strlen(PRINTER))); sprintf(prompt,"Enter Printing Command [%s]: ",PRINTER); print_status_bar(prompt); free(prompt); curs_set(1); echo(); char *newcmd; wscanw(status_bar,"%s",newcmd); curs_set(0); noecho(); print_status_bar(newcmd); /* / getting printer command*/ } if (!strcmp(cmd,"Exit")) { if (file_printed) free(buffer); end_curses(); return 0; } } } if (file_printed) free(buffer); end_curses(); return 0; }
void game_finish() { end_curses(); }
void partie() { /* boucle de partie */ int xpos; int ypos = 3; int perdu = 0; int niveau = 0; score=0; draw_cadre(); wmove(blocJeu,9,6); wprintw(blocJeu,"%7d",score); wrefresh(blocJeu); do { niveau++; wclear(fenetreJeu); wmove(fenetreJeu,0,0); wmove(blocJeu,9,1); wprintw(blocJeu,"%3d",niveau); wrefresh(blocJeu); gen_tableau(niveau); //draw_tableau(); usleep(500000); for (xpos=0;xpos<largeur;xpos++) { switch(wgetch(fenetreJeu)) { case KEY_UP: ypos=max(0,ypos-1); break; case KEY_DOWN: ypos=min(ypos+1,hauteur-1); break; case 'q': end_curses(); exit(0); } switch (tableau[ypos*largeur+xpos]) { case 1: perdu = 1; wattron(fenetreJeu,COLOR_PAIR(3)); mvwaddch(fenetreJeu,ypos,xpos,'@'); wattroff(fenetreJeu,COLOR_PAIR(3)); wrefresh(fenetreJeu); /* XXX pabo */ goto finDePartie; case 2: score+=42*niveau; wmove(blocJeu,9,6); wprintw(blocJeu,"%7d",score); wrefresh(blocJeu); default: mvwaddch(fenetreJeu,ypos,xpos,vaisseau); } wrefresh(fenetreJeu); // pour rajouter une 'trainée' //mvwaddch(fenetreJeu,ypos,xpos,'='); usleep(125000); } } while (!perdu); finDePartie: animation_de_fin(); if (new_highscore()) { sleep(1); int position = new_highscore(); char *nick = (char*)malloc(10*sizeof(char)); /*wmove(fenetreJeu,5,8); wprintw(fenetreJeu,"YEAH !",score);*/ wclear(dialog); wprintw(dialog,"Vous entrez dans les meilleurs scores !\n" "\n" " Score : %d\n" " Position : %d\n" " Votre nick : ", score,position); curs_set(1); echo(); wgetnstr(dialog,nick,10); if (strlen(nick)==0) nick = "(noname)"; add_highscore(nick); curs_set(0); noecho(); highlight_highscores(position); } else { } }