示例#1
0
文件: fish.c 项目: msharov/bsd-games
static unsigned usermove (void)
{
    for (;;) {
	draw_panel();
	int k = wgetch (_wmsg);
	unsigned n = parse_card_name (k);

	if (k == 'x' || k == KEY_F(10))
	    exit (EXIT_SUCCESS);
	else if (k == '?' || k == KEY_F(1))
	    instructions();
	else if (k == KEY_RESIZE)
	    initialize_windows();
	else if (n >= ArraySize(c_CardNames))
	    waddstr (_wmsg, "I don't understand!\n");
	else if (_hand[USER][n] < 1)
	    wprintw (_wmsg, "You don't have any %s's!\n", c_CardNames[n]);
	else if (_hand[USER][n] >= SUITS)
	    wprintw (_wmsg, "You have already completed a book of %s's.\n", c_CardNames[n]);
	else {
	    wprintw (_wmsg, "\nYou ask me for %s. ", c_CardNames[n]);
	    return n;
	}
    }
}
示例#2
0
/** Run registered CUnit tests using the curses interface. */
void CU_curses_run_tests(void)
{
  setvbuf(stdout, NULL, _IONBF, 0);
  setvbuf(stderr, NULL, _IONBF, 0);

  f_szOptions = MAIN_OPTIONS;
  if (!initialize_windows()) {
    return;                   
  }

  if (!test_initialize()) {
    goto test_initialize_fail;
  }

  curses_registry_level_run(CU_get_registry());

  /* THIS WAS COMMENTED OUT IN THE 1.1-1 SOURCE
  f_uiTotalTests = 3000;
  {
    int i;
    int iSucc = 0;
    for (i = 0; i < 3000; i++, iSucc++) {
      if (i && !(i%2000))
        iSucc--;

      f_uiTestsRun = i + 1;
      f_uiTestsRunSuccessful = iSucc + 1;
      refresh_progress_window();
      refresh_summary_window();
      refresh_run_summary_window();
    }
  }

  f_uiTestsRunSuccessful = f_uiTestsRun = 0;
  refresh_windows();
  {
    int i;
    int iSucc = -1;
    for (i = 0; i < 3000; i++, iSucc++) {
      if (i && !(i%2000))
        iSucc++;

      f_uiTestsRun = i + 1;
      f_uiTestsRunSuccessful = iSucc + 1;
      refresh_progress_window();
      refresh_summary_window();
      refresh_run_summary_window();
    }
  }
  */

test_initialize_fail:
  uninitialize_windows();
}
示例#3
0
文件: fish.c 项目: msharov/bsd-games
int main (void)
{
    initialize_curses();
    initialize_windows();
    shuffle_deck_and_deal();
    instructions();

    enum EPlayer player = nrand(NPLAYERS);
    printplayer (player);
    waddstr (_wmsg, "get to start.\n");
    for (;;) {
	unsigned m = makemove (player);
	if (_hand[OTHER(player)][m])
	    goodmove (player, m);
	else if (!gofish (player, m))
	    player = OTHER(player);
    }
    return EXIT_SUCCESS;
}