X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=main.c;h=1db050f91583e7f42bfcbb2ff9ce440c1aefc0a7;hb=7753ad3134be3184981b1889c1c38069f2bce6e0;hp=c7c58e3e480244a2bb3198917aaef716ed09010b;hpb=e9aff2568f200be6cf47ec0bd945902a636bbd71;p=open-adventure.git diff --git a/main.c b/main.c index c7c58e3..1db050f 100644 --- a/main.c +++ b/main.c @@ -41,7 +41,7 @@ long AMBER, AXE, BACK, BATTERY, BEAR, BIRD, BLOOD, RUBY, RUG, SAPPH, SAY, SIGN, SNAKE, STEPS, STREAM, THROW, TRIDENT, TROLL, TROLL2, URN, VASE, VEND, VOLCANO, WATER; -long WD1, WD1X, WD2, WD2X; +token_t WD1, WD1X, WD2, WD2X; FILE *logfp = NULL, *rfp = NULL; bool oldstyle = false; @@ -131,16 +131,6 @@ int main(int argc, char *argv[]) linenoiseHistorySetMaxLen(350); - /* Logical variables: - * - * game.closed says whether we're all the way closed - * game.closng says whether it's closing time yet - * game.clshnt says whether he's read the clue in the endgame - * game.lmwarn says whether he's been warned about lamp going dim - * game.novice says whether he asked for instructions at start-up - * game.panic says whether he's found out he's trapped in the cave - * game.wzdark says whether the loc he's leaving was dark */ - /* Initialize our LCG PRNG with parameters tested against * Knuth vol. 2. by the original authors */ game.lcg_a = 1093; @@ -1067,23 +1057,24 @@ L2607: if (V1 == ENTER && WD2 > 0) { WD1 = WD2; WD1X = WD2X; - WD2 = 0; + wordclear(&WD2); } else { + /* FIXME: Magic numbers */ if (!((V1 != 1000 + WATER && V1 != 1000 + OIL) || (V2 != 1000 + PLANT && V2 != 1000 + DOOR))) { if (AT(V2 - 1000)) - WD2 = MAKEWD(16152118); + WD2 = MAKEWD(WORD_POUR); } if (V1 == 1000 + CAGE && V2 == 1000 + BIRD && HERE(CAGE) && HERE(BIRD)) - WD1 = MAKEWD(301200308); + WD1 = MAKEWD(WORD_CATCH); } L2620: - if (WD1 == MAKEWD(23051920)) { + if (wordeq(WD1, MAKEWD(WORD_WEST))) { ++game.iwest; if (game.iwest == 10) RSPEAK(W_IS_WEST); } - if (WD1 == MAKEWD( 715) && WD2 != 0) { + if (wordeq(WD1, MAKEWD(WORD_GO)) && !wordempty(WD2)) { if (++igo == 10) RSPEAK(GO_UNNEEDED); } @@ -1140,7 +1131,7 @@ Laction: /* Get second word for analysis. */ WD1 = WD2; WD1X = WD2X; - WD2 = 0; + wordclear(&WD2); goto L2620; case GO_UNKNOWN: /* Random intransitive verbs come here. Clear obj just in case