dont always initialize ncurses
このコミットが含まれているのは:
コミット
f5c31f72a8
45
uttt.c
45
uttt.c
|
@ -37,7 +37,7 @@ struct ut_socket_buffer {
|
|||
size_t stop;
|
||||
};
|
||||
|
||||
const char *HELP_TEXT = "\
|
||||
const char HELP_TEXT[] = "\
|
||||
Usage: uttt (--local | --host | --join)\n\
|
||||
\n\
|
||||
--local play non-network game\n\
|
||||
|
@ -45,9 +45,9 @@ Usage: uttt (--local | --host | --join)\n\
|
|||
--join join game at 127.0.0.1:6669\n\
|
||||
";
|
||||
|
||||
const char *arg_local = "--local";
|
||||
const char *arg_host = "--host";
|
||||
const char *arg_join = "--join";
|
||||
const char arg_local[] = "--local";
|
||||
const char arg_host[] = "--host";
|
||||
const char arg_join[] = "--join";
|
||||
|
||||
|
||||
char ut_turn(char player)
|
||||
|
@ -707,6 +707,16 @@ int ut_join_game(struct ut_state *state) {
|
|||
return ut_network_game(state, &sockbuf, *player);
|
||||
}
|
||||
|
||||
void begin(void)
|
||||
{
|
||||
signal(SIGINT, finish);
|
||||
initscr();
|
||||
keypad(stdscr, TRUE);
|
||||
nonl(); // \r instead of \r\n
|
||||
cbreak();
|
||||
noecho();
|
||||
mousemask(BUTTON1_CLICKED, NULL);
|
||||
}
|
||||
void finish(int sig)
|
||||
{
|
||||
// putchar('\n');
|
||||
|
@ -757,28 +767,23 @@ void finish(int sig)
|
|||
}*/
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
signal(SIGINT, finish);
|
||||
initscr();
|
||||
keypad(stdscr, TRUE);
|
||||
nonl(); // \r instead of \r\n
|
||||
cbreak();
|
||||
noecho();
|
||||
mousemask(BUTTON1_CLICKED, NULL);
|
||||
|
||||
struct ut_state state = ut_initial;
|
||||
if (argc != 2) {
|
||||
printf(HELP_TEXT);
|
||||
finish(1);
|
||||
} else if (strncmp(argv[1], arg_local, strlen(arg_local)) == 0) {
|
||||
return ut_local_game(&state);
|
||||
} else if (strncmp(argv[1], arg_host, strlen(arg_host)) == 0) {
|
||||
return ut_host_game(&state);
|
||||
} else if (strncmp(argv[1], arg_join, strlen(arg_join)) == 0) {
|
||||
return ut_join_game(&state);
|
||||
return 1;
|
||||
} else if (strncmp(argv[1], arg_local, sizeof(arg_local)) == 0) {
|
||||
begin();
|
||||
finish(ut_local_game(&state));
|
||||
} else if (strncmp(argv[1], arg_host, sizeof(arg_host)) == 0) {
|
||||
begin();
|
||||
finish(ut_host_game(&state));
|
||||
} else if (strncmp(argv[1], arg_join, sizeof(arg_join)) == 0) {
|
||||
begin();
|
||||
finish(ut_join_game(&state));
|
||||
} else {
|
||||
printf(HELP_TEXT);
|
||||
finish(1);
|
||||
return 1;
|
||||
}
|
||||
finish(0);
|
||||
return 0;
|
||||
}
|
||||
|
|
読み込み中…
新しいイシューから参照