From: Jason S. Ninneman Date: Wed, 21 Jun 2017 17:22:45 +0000 (-0700) Subject: Switch to 0-indexing for hint handling code. X-Git-Tag: 1.1~173 X-Git-Url: https://jxself.org/git/?p=open-adventure.git;a=commitdiff_plain;h=79ffdb36f0c9f2fa8f9f2470e5a0c81729d8f622 Switch to 0-indexing for hint handling code. --- diff --git a/init.c b/init.c index 220f9cb..76bdc8a 100644 --- a/init.c +++ b/init.c @@ -225,7 +225,7 @@ void initialise(void) /* Clear the hint stuff. game.hintlc[i] is how long he's been at LOC * with cond bit i. game.hinted[i] is true iff hint i has been * used. */ - for (int i = 1; i <= HINT_COUNT; i++) { + for (int i = 0; i < HINT_COUNT; i++) { game.hinted[i] = false; game.hintlc[i] = 0; } diff --git a/main.c b/main.c index f9d0284..724194d 100644 --- a/main.c +++ b/main.c @@ -189,18 +189,18 @@ static bool fallback_handler(char *buf) static void checkhints(void) { if (COND[game.loc] >= game.conds) { - for (int hint = 1; hint <= HINT_COUNT; hint++) { + for (int hint = 0; hint < HINT_COUNT; hint++) { if (game.hinted[hint]) continue; - if (!CNDBIT(game.loc, hint + HBASE)) + if (!CNDBIT(game.loc, hint + 1 + HBASE)) game.hintlc[hint] = -1; ++game.hintlc[hint]; /* Come here if he's been long enough at required loc(s) for some * unused hint. */ - if (game.hintlc[hint] >= hints[hint-1].turns) { + if (game.hintlc[hint] >= hints[hint].turns) { int i; - switch (hint - 1) { + switch (hint) { case 0: /* cave */ if (game.prop[GRATE] == 0 && !HERE(KEYS)) @@ -263,12 +263,12 @@ static void checkhints(void) /* Fall through to hint display */ game.hintlc[hint] = 0; - if (!YES(hints[hint-1].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN])) + if (!YES(hints[hint].question, arbitrary_messages[NO_MESSAGE], arbitrary_messages[OK_MAN])) return; - rspeak(HINT_COST, hints[hint-1].penalty, hints[hint-1].penalty); - game.hinted[hint] = YES(arbitrary_messages[WANT_HINT], hints[hint-1].hint, arbitrary_messages[OK_MAN]); + rspeak(HINT_COST, hints[hint].penalty, hints[hint].penalty); + game.hinted[hint] = YES(arbitrary_messages[WANT_HINT], hints[hint].hint, arbitrary_messages[OK_MAN]); if (game.hinted[hint] && game.limit > WARNTIME) - game.limit += WARNTIME * hints[hint-1].penalty; + game.limit += WARNTIME * hints[hint].penalty; } } } diff --git a/score.c b/score.c index b2db8a6..cd4b9e6 100644 --- a/score.c +++ b/score.c @@ -87,9 +87,9 @@ long score(enum termination mode) mxscor += 2; /* Deduct for hints/turns/saves. Hints < 4 are special; see database desc. */ - for (long i = 1; i <= HINT_COUNT; i++) { + for (long i = 0; i < HINT_COUNT; i++) { if (game.hinted[i]) - score = score - hints[i-1].penalty; + score = score - hints[i].penalty; } if (game.novice) score -= 5;