bool check_priority() { // true if battle, false if surrender if (PLAYER1_ACTION == SURRENDER_A || PLAYER2_ACTION == SURRENDER_A) { return false; } int player1_priority = get_priority(PLAYER1); int player2_priority = get_priority(PLAYER2); if (player1_priority == player2_priority) { int player1_speed = calc_speed(PLAYER1_POKEMON); int player2_speed = calc_speed(PLAYER2_POKEMON); if (player1_speed == player2_speed) { set_curr((roll(.5) ? PLAYER1 : PLAYER2)); return true; } else { set_curr((player1_speed > player2_speed ? PLAYER1 : PLAYER2)); return true; } } else { set_curr((player1_priority > player2_priority ? PLAYER1 : PLAYER2)); return true; } return true; }
void putinlist (list_ref list, FILE *input, char *filename) { char buffer[1024]; for (int linenr = 1; ; ++linenr) { char *linepos1 = fgets (buffer, sizeof buffer, input); if (linepos1 == NULL) break; linepos1 = strchr (buffer, '\n'); if (linepos1 == NULL) { fflush (NULL); fprintf (stderr, "%s: %s[%d]: unterminated line\n", Exec_Name, filename, linenr); fflush (NULL); Exit_Status = EXIT_FAILURE; }else { *linepos1 = '\0'; } linepos1 = strdup (buffer); assert (linepos1 != NULL); insert_list (list, linepos1); ++currentlines; set_curr (list, currentlines); } printf("%d lines read from %s\n", currentlines, filename); }
void swap_curr() { set_curr(OTHR_PLAYER); }