Minor refactor - create an equality function to simplify skip logic.
This commit is contained in:
parent
e66b4561d4
commit
e57d9d514c
1 changed files with 9 additions and 2 deletions
11
main.c
11
main.c
|
@ -491,6 +491,13 @@ static void croak(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool traveleq(long a, long b)
|
||||||
|
/* Are two travel entries equal for purposes of skip after failed condition? */
|
||||||
|
{
|
||||||
|
return (travel[a].cond == travel[b].cond)
|
||||||
|
&& (travel[a].dest == travel[b].dest);
|
||||||
|
}
|
||||||
|
|
||||||
/* Given the current location in "game.loc", and a motion verb number in
|
/* Given the current location in "game.loc", and a motion verb number in
|
||||||
* "motion", put the new location in "game.newloc". The current loc is saved
|
* "motion", put the new location in "game.newloc". The current loc is saved
|
||||||
* in "game.oldloc" in case he wants to retreat. The current
|
* in "game.oldloc" in case he wants to retreat. The current
|
||||||
|
@ -628,7 +635,7 @@ static bool playermove( int motion)
|
||||||
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||||
++te_tmp;
|
++te_tmp;
|
||||||
} while
|
} while
|
||||||
((T_DESTINATION(travel[travel_entry]) == T_DESTINATION(travel[te_tmp])) && (T_CONDITION(travel[travel_entry]) == T_CONDITION(travel[te_tmp])));
|
(traveleq(travel_entry, te_tmp));
|
||||||
travel_entry = te_tmp;
|
travel_entry = te_tmp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -670,7 +677,7 @@ static bool playermove( int motion)
|
||||||
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
BUG(CONDITIONAL_TRAVEL_ENTRY_WITH_NO_ALTERATION); // LCOV_EXCL_LINE
|
||||||
++te_tmp;
|
++te_tmp;
|
||||||
} while
|
} while
|
||||||
((T_DESTINATION(travel[travel_entry]) == T_DESTINATION(travel[te_tmp])) && (T_CONDITION(travel[travel_entry]) == T_CONDITION(travel[te_tmp])));
|
(traveleq(travel_entry, te_tmp));
|
||||||
travel_entry = te_tmp;
|
travel_entry = te_tmp;
|
||||||
continue; /* goto L12 */
|
continue; /* goto L12 */
|
||||||
case 3:
|
case 3:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue