summaryrefslogtreecommitdiffstats
path: root/adventure/main.c
diff options
context:
space:
mode:
authorlukem <lukem@NetBSD.org>1997-10-11 01:53:21 +0000
committerlukem <lukem@NetBSD.org>1997-10-11 01:53:21 +0000
commit7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba (patch)
treed315e6e1cff5b3f0deb38704e741f5f580ea319d /adventure/main.c
parenta020fc98d8da9cac6990006871414e8654ac5c1d (diff)
downloadbsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.tar.gz
bsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.tar.zst
bsdgames-darwin-7a7d157b6dfb2274277e61ea5f1c8a97e88e73ba.zip
KNFify
Diffstat (limited to 'adventure/main.c')
-rw-r--r--adventure/main.c982
1 files changed, 575 insertions, 407 deletions
diff --git a/adventure/main.c b/adventure/main.c
index a9e83b70..c8a8108c 100644
--- a/adventure/main.c
+++ b/adventure/main.c
@@ -1,4 +1,4 @@
-/* $NetBSD: main.c,v 1.7 1997/10/10 11:59:49 lukem Exp $ */
+/* $NetBSD: main.c,v 1.8 1997/10/11 01:53:31 lukem Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -48,13 +48,14 @@ __COPYRIGHT("@(#) Copyright (c) 1991, 1993\n\
#if 0
static char sccsid[] = "@(#)main.c 8.1 (Berkeley) 6/2/93";
#else
-__RCSID("$NetBSD: main.c,v 1.7 1997/10/10 11:59:49 lukem Exp $");
+__RCSID("$NetBSD: main.c,v 1.8 1997/10/11 01:53:31 lukem Exp $");
#endif
#endif /* not lint */
-/* Re-coding of advent in C: main program */
+/* Re-coding of advent in C: main program */
#include <sys/file.h>
+#include <err.h>
#include <signal.h>
#include <stdio.h>
#include <unistd.h>
@@ -62,543 +63,710 @@ __RCSID("$NetBSD: main.c,v 1.7 1997/10/10 11:59:49 lukem Exp $");
#include "extern.h"
int
-main(argc,argv)
-int argc;
-char **argv;
+main(argc, argv)
+ int argc;
+ char **argv;
{
- int i;
- int rval,ll;
+ int i;
+ int rval, ll;
struct text *kk;
/* adventure doesn't need setuid-ness, so, just get rid of it */
if (setuid(getuid()) < 0)
- perror("setuid");
+ warn("setuid");
- init(NULL); /* Initialize everything */
- signal(SIGINT,trapdel);
+ init(NULL); /* Initialize everything */
+ signal(SIGINT, trapdel);
- if (argc > 1) /* Restore file specified */
- { /* Restart is label 8305 (Fortran) */
- i = restore(argv[1]); /* See what we've got */
- switch(i)
- {
- case 0: /* The restore worked fine */
- yea=Start(0);
- k=null;
- unlink(argv[1]);/* Don't re-use the save */
- goto l8; /* Get where we're going */
- case 1: /* Couldn't open it */
- exit(0); /* So give up */
- case 2: /* Oops -- file was altered */
- rspeak(202); /* You dissolve */
- exit(0); /* File could be non-adventure */
- } /* So don't unlink it. */
+ if (argc > 1) { /* Restore file specified */
+ /* Restart is label 8305 (Fortran) */
+ i = restore(argv[1]); /* See what we've got */
+ switch (i) {
+ case 0: /* The restore worked fine */
+ yea = Start(0);
+ k = null;
+ unlink(argv[1]); /* Don't re-use the save */
+ goto l8; /* Get where we're going */
+ case 1: /* Couldn't open it */
+ exit(0); /* So give up */
+ case 2: /* Oops -- file was altered */
+ rspeak(202); /* You dissolve */
+ exit(0); /* File could be non-adventure */
+ } /* So don't unlink it. */
}
+ startup(); /* prepare for a user */
- startup(); /* prepare for a user */
-
- for (;;) /* main command loop (label 2) */
- { if (newloc<9 && newloc!=0 && closng)
- { rspeak(130); /* if closing leave only by */
- newloc=loc; /* main office */
- if (!panic) clock2=15;
- panic=TRUE;
+ for (;;) { /* main command loop (label 2) */
+ if (newloc < 9 && newloc != 0 && closng) {
+ rspeak(130); /* if closing leave only by */
+ newloc = loc; /* main office */
+ if (!panic)
+ clock2 = 15;
+ panic = TRUE;
}
+ rval = fdwarf(); /* dwarf stuff */
+ if (rval == 99)
+ die(99);
- rval=fdwarf(); /* dwarf stuff */
- if (rval==99) die(99);
-
- l2000: if (loc==0) die(99); /* label 2000 */
+l2000: if (loc == 0)
+ die(99); /* label 2000 */
kk = &stext[loc];
- if ((abb[loc]%abbnum)==0 || kk->seekadr==0)
+ if ((abb[loc] % abbnum) == 0 || kk->seekadr == 0)
kk = &ltext[loc];
- if (!forced(loc) && dark(0))
- { if (wzdark && pct(35))
- { die(90);
+ if (!forced(loc) && dark(0)) {
+ if (wzdark && pct(35)) {
+ die(90);
goto l2000;
}
kk = &rtext[16];
}
#if 0
- l2001:
+l2001:
#endif
- if (toting(bear)) rspeak(141); /* 2001 */
+ if (toting(bear))
+ rspeak(141); /* 2001 */
speak(kk);
- k=1;
+ k = 1;
if (forced(loc))
goto l8;
- if (loc==33 && pct(25)&&!closng) rspeak(8);
- if (!dark(0))
- { abb[loc]++;
- for (i=atloc[loc]; i!=0; i=links[i]) /*2004 */
- { obj=i;
- if (obj>100) obj -= 100;
- if (obj==steps && toting(nugget)) continue;
- if (prop[obj]<0)
- { if (closed) continue;
- prop[obj]=0;
- if (obj==rug||obj==chain)
- prop[obj]=1;
+ if (loc == 33 && pct(25) && !closng)
+ rspeak(8);
+ if (!dark(0)) {
+ abb[loc]++;
+ for (i = atloc[loc]; i != 0; i = links[i]) { /* 2004 */
+ obj = i;
+ if (obj > 100)
+ obj -= 100;
+ if (obj == steps && toting(nugget))
+ continue;
+ if (prop[obj] < 0) {
+ if (closed)
+ continue;
+ prop[obj] = 0;
+ if (obj == rug || obj == chain)
+ prop[obj] = 1;
tally--;
- if (tally==tally2 && tally != 0)
- if (limit>35) limit=35;
+ if (tally == tally2 && tally != 0)
+ if (limit > 35)
+ limit = 35;
}
- ll = prop[obj]; /* 2006 */
- if (obj==steps && loc==fixed[steps])
+ ll = prop[obj]; /* 2006 */
+ if (obj == steps && loc == fixed[steps])
ll = 1;
pspeak(obj, ll);
- } /* 2008 */
+ } /* 2008 */
goto l2012;
- l2009: k=54; /* 2009 */
- l2010: spk=k;
- l2011: rspeak(spk);
+ l2009: k = 54; /* 2009 */
+ l2010: spk = k;
+ l2011: rspeak(spk);
}
- l2012: verb=0; /* 2012 */
- obj=0;
- l2600: checkhints(); /* to 2600-2602 */
- if (closed)
- { if (prop[oyster]<0 && toting(oyster))
- pspeak(oyster,1);
- for (i=1; i<100; i++)
- if (toting(i)&&prop[i]<0) /*2604 */
- prop[i] = -1-prop[i];
+l2012: verb = 0; /* 2012 */
+ obj = 0;
+l2600: checkhints(); /* to 2600-2602 */
+ if (closed) {
+ if (prop[oyster] < 0 && toting(oyster))
+ pspeak(oyster, 1);
+ for (i = 1; i < 100; i++)
+ if (toting(i) && prop[i] < 0) /* 2604 */
+ prop[i] = -1 - prop[i];
}
- wzdark=dark(0); /* 2605 */
- if (knfloc>0 && knfloc!=loc) knfloc=1;
- getin(&wd1,&wd2);
- if (delhit) /* user typed a DEL */
- { delhit=0; /* reset counter */
- copystr("quit",wd1); /* pretend he's quitting*/
- *wd2=0;
+ wzdark = dark(0); /* 2605 */
+ if (knfloc > 0 && knfloc != loc)
+ knfloc = 1;
+ getin(&wd1, &wd2);
+ if (delhit) { /* user typed a DEL */
+ delhit = 0; /* reset counter */
+ copystr("quit", wd1); /* pretend he's quitting */
+ *wd2 = 0;
}
- l2608: if ((foobar = -foobar)>0) foobar=0; /* 2608 */
- /* should check here for "magic mode" */
+l2608: if ((foobar = -foobar) > 0)
+ foobar = 0; /* 2608 */
+ /* should check here for "magic mode" */
turns++;
- if (demo && turns>=SHORT) done(1); /* to 13000 */
+ if (demo && turns >= SHORT)
+ done(1); /* to 13000 */
- if (verb==say && *wd2!=0) verb=0;
- if (verb==say)
+ if (verb == say && *wd2 != 0)
+ verb = 0;
+ if (verb == say)
goto l4090;
- if (tally==0 && loc>=15 && loc!=33) clock1--;
- if (clock1==0)
- { closing(); /* to 10000 */
+ if (tally == 0 && loc >= 15 && loc != 33)
+ clock1--;
+ if (clock1 == 0) {
+ closing(); /* to 10000 */
goto l19999;
}
- if (clock1<0) clock2--;
- if (clock2==0)
- { caveclose(); /* to 11000 */
- continue; /* back to 2 */
+ if (clock1 < 0)
+ clock2--;
+ if (clock2 == 0) {
+ caveclose(); /* to 11000 */
+ continue; /* back to 2 */
}
- if (prop[lamp]==1) limit--;
- if (limit<=30 && here(batter) && prop[batter]==0
- && here(lamp))
- { rspeak(188); /* 12000 */
- prop[batter]=1;
- if (toting(batter)) drop(batter,loc);
- limit=limit+2500;
- lmwarn=FALSE;
+ if (prop[lamp] == 1)
+ limit--;
+ if (limit <= 30 && here(batter) && prop[batter] == 0
+ && here(lamp)) {
+ rspeak(188); /* 12000 */
+ prop[batter] = 1;
+ if (toting(batter))
+ drop(batter, loc);
+ limit = limit + 2500;
+ lmwarn = FALSE;
goto l19999;
}
- if (limit==0)
- { limit = -1; /* 12400 */
- prop[lamp]=0;
+ if (limit == 0) {
+ limit = -1; /* 12400 */
+ prop[lamp] = 0;
rspeak(184);
goto l19999;
}
- if (limit<0&&loc<=8)
- { rspeak(185); /* 12600 */
- gaveup=TRUE;
- done(2); /* to 20000 */
+ if (limit < 0 && loc <= 8) {
+ rspeak(185); /* 12600 */
+ gaveup = TRUE;
+ done(2); /* to 20000 */
}
- if (limit<=30)
- { if (lmwarn|| !here(lamp)) goto l19999; /*12200*/
- lmwarn=TRUE;
- spk=187;
- if (place[batter]==0) spk=183;
- if (prop[batter]==1) spk=189;
+ if (limit <= 30) {
+ if (lmwarn || !here(lamp))
+ goto l19999; /* 12200 */
+ lmwarn = TRUE;
+ spk = 187;
+ if (place[batter] == 0)
+ spk = 183;
+ if (prop[batter] == 1)
+ spk = 189;
rspeak(spk);
}
- l19999: k=43;
- if (liqloc(loc)==water) k=70;
- if (weq(wd1,"enter") &&
- (weq(wd2,"strea")||weq(wd2,"water")))
+l19999: k = 43;
+ if (liqloc(loc) == water)
+ k = 70;
+ if (weq(wd1, "enter") &&
+ (weq(wd2, "strea") || weq(wd2, "water")))
goto l2010;
- if (weq(wd1,"enter") && *wd2!=0) goto l2800;
- if ((!weq(wd1,"water")&&!weq(wd1,"oil"))
- || (!weq(wd2,"plant")&&!weq(wd2,"door")))
+ if (weq(wd1, "enter") && *wd2 != 0)
+ goto l2800;
+ if ((!weq(wd1, "water") && !weq(wd1, "oil"))
+ || (!weq(wd2, "plant") && !weq(wd2, "door")))
goto l2610;
- if (at(vocab(wd2,1,0))) copystr("pour",wd2);
+ if (at(vocab(wd2, 1, 0)))
+ copystr("pour", wd2);
- l2610: if (weq(wd1,"west"))
- if (++iwest==10) rspeak(17);
- l2630: i=vocab(wd1,-1,0);
- if (i== -1)
- { spk=60; /* 3000 */
- if (pct(20)) spk=61;
- if (pct(20)) spk=13;
+l2610: if (weq(wd1, "west"))
+ if (++iwest == 10)
+ rspeak(17);
+l2630: i = vocab(wd1, -1, 0);
+ if (i == -1) {
+ spk = 60; /* 3000 */
+ if (pct(20))
+ spk = 61;
+ if (pct(20))
+ spk = 13;
rspeak(spk);
goto l2600;
}
- k=i%1000;
- kq=i/1000+1;
- switch(kq)
- { case 1: goto l8;
- case 2: goto l5000;
- case 3: goto l4000;
- case 4: goto l2010;
- default:
+ k = i % 1000;
+ kq = i / 1000 + 1;
+ switch (kq) {
+ case 1:
+ goto l8;
+ case 2:
+ goto l5000;
+ case 3:
+ goto l4000;
+ case 4:
+ goto l2010;
+ default:
printf("Error 22\n");
exit(0);
}
- l8:
- switch(march())
- { case 2: continue; /* i.e. goto l2 */
- case 99:
- switch(die(99))
- { case 2000: goto l2000;
- default: bug(111);
+l8:
+ switch (march()) {
+ case 2:
+ continue; /* i.e. goto l2 */
+ case 99:
+ switch (die(99)) {
+ case 2000:
+ goto l2000;
+ default:
+ bug(111);
}
- default: bug(110);
+ default:
+ bug(110);
}
- l2800: copystr(wd2,wd1);
- *wd2=0;
+l2800: copystr(wd2, wd1);
+ *wd2 = 0;
goto l2610;
- l4000: verb=k;
- spk=actspk[verb];
- if (*wd2!=0 && verb!=say) goto l2800;
- if (verb==say) obj= *wd2;
- if (obj!=0) goto l4090;
+l4000: verb = k;
+ spk = actspk[verb];
+ if (*wd2 != 0 && verb != say)
+ goto l2800;
+ if (verb == say)
+ obj = *wd2;
+ if (obj != 0)
+ goto l4090;
#if 0
- l4080:
+l4080:
#endif
- switch(verb)
- { case 1: /* take = 8010 */
- if (atloc[loc]==0||links[atloc[loc]]!=0) goto l8000;
- for (i=1; i<=5; i++)
- if (dloc[i]==loc&&dflag>=2) goto l8000;
- obj=atloc[loc];
+ switch (verb) {
+ case 1: /* take = 8010 */
+ if (atloc[loc] == 0 || links[atloc[loc]] != 0)
+ goto l8000;
+ for (i = 1; i <= 5; i++)
+ if (dloc[i] == loc && dflag >= 2)
+ goto l8000;
+ obj = atloc[loc];
goto l9010;
- case 2: case 3: case 9: /* 8000 : drop,say,wave */
- case 10: case 16: case 17: /* calm,rub,toss */
- case 19: case 21: case 28: /* find,feed,break */
- case 29: /* wake */
- l8000: printf("%s what?\n",wd1);
- obj=0;
+ case 2:
+ case 3:
+ case 9: /* 8000 : drop,say,wave */
+ case 10:
+ case 16:
+ case 17: /* calm,rub,toss */
+ case 19:
+ case 21:
+ case 28: /* find,feed,break */
+ case 29: /* wake */
+ l8000: printf("%s what?\n", wd1);
+ obj = 0;
goto l2600;
- case 4: case 6: /* 8040 open,lock */
- spk=28;
- if (here(clam)) obj=clam;
- if (here(oyster)) obj=oyster;
- if (at(door)) obj=door;
- if (at(grate)) obj=grate;
- if (obj!=0 && here(chain)) goto l8000;
- if (here(chain)) obj=chain;
- if (obj==0) goto l2011;
+ case 4:
+ case 6: /* 8040 open,lock */
+ spk = 28;
+ if (here(clam))
+ obj = clam;
+ if (here(oyster))
+ obj = oyster;
+ if (at(door))
+ obj = door;
+ if (at(grate))
+ obj = grate;
+ if (obj != 0 && here(chain))
+ goto l8000;
+ if (here(chain))
+ obj = chain;
+ if (obj == 0)
+ goto l2011;
goto l9040;
- case 5: goto l2009; /* nothing */
- case 7: goto l9070; /* on */
- case 8: goto l9080; /* off */
- case 11: goto l8000; /* walk */
- case 12: goto l9120; /* kill */
- case 13: goto l9130; /* pour */
- case 14: /* eat: 8140 */
- if (!here(food)) goto l8000;
- l8142: dstroy(food);
- spk=72;
+ case 5:
+ goto l2009; /* nothing */
+ case 7:
+ goto l9070; /* on */
+ case 8:
+ goto l9080; /* off */
+ case 11:
+ goto l8000; /* walk */
+ case 12:
+ goto l9120; /* kill */
+ case 13:
+ goto l9130; /* pour */
+ case 14: /* eat: 8140 */
+ if (!here(food))
+ goto l8000;
+ l8142: dstroy(food);
+ spk = 72;
goto l2011;
- case 15: goto l9150; /* drink */
- case 18: /* quit: 8180 */
- gaveup=yes(22,54,54);
- if (gaveup) done(2); /* 8185 */
+ case 15:
+ goto l9150; /* drink */
+ case 18: /* quit: 8180 */
+ gaveup = yes(22, 54, 54);
+ if (gaveup)
+ done(2); /* 8185 */
goto l2012;
- case 20: /* invent=8200 */
- spk=98;
- for (i=1; i<=100; i++)
- { if (i!=bear && toting(i))
- { if (spk==98) rspeak(99);
- blklin=FALSE;
- pspeak(i,-1);
- blklin=TRUE;
- spk=0;
+ case 20: /* invent=8200 */
+ spk = 98;
+ for (i = 1; i <= 100; i++) {
+ if (i != bear && toting(i)) {
+ if (spk == 98)
+ rspeak(99);
+ blklin = FALSE;
+ pspeak(i, -1);
+ blklin = TRUE;
+ spk = 0;
}
}
- if (toting(bear)) spk=141;
+ if (toting(bear))
+ spk = 141;
goto l2011;
- case 22: goto l9220; /* fill */
- case 23: goto l9230; /* blast */
- case 24: /* score: 8240 */
- scorng=TRUE;
+ case 22:
+ goto l9220; /* fill */
+ case 23:
+ goto l9230; /* blast */
+ case 24: /* score: 8240 */
+ scorng = TRUE;
printf("If you were to quit now, you would score");
- printf(" %d out of a possible ",score());
- printf("%d.",mxscor);
- scorng=FALSE;
- gaveup=yes(143,54,54);
- if (gaveup) done(2);
+ printf(" %d out of a possible ", score());
+ printf("%d.", mxscor);
+ scorng = FALSE;
+ gaveup = yes(143, 54, 54);
+ if (gaveup)
+ done(2);
goto l2012;
- case 25: /* foo: 8250 */
- k=vocab(wd1,3,0);
- spk=42;
- if (foobar==1-k) goto l8252;
- if (foobar!=0) spk=151;
+ case 25: /* foo: 8250 */
+ k = vocab(wd1, 3, 0);
+ spk = 42;
+ if (foobar == 1 - k)
+ goto l8252;
+ if (foobar != 0)
+ spk = 151;
goto l2011;
- l8252: foobar=k;
- if (k!=4) goto l2009;
- foobar=0;
- if (place[eggs]==plac[eggs]
- ||(toting(eggs)&&loc==plac[eggs])) goto l2011;
- if (place[eggs]==0&&place[troll]==0&&prop[troll]==0)
- prop[troll]=1;
- k=2;
- if (here(eggs)) k=1;
- if (loc==plac[eggs]) k=0;
- move(eggs,plac[eggs]);
- pspeak(eggs,k);
+ l8252: foobar = k;
+ if (k != 4)
+ goto l2009;
+ foobar = 0;
+ if (place[eggs] == plac[eggs]
+ || (toting(eggs) && loc == plac[eggs]))
+ goto l2011;
+ if (place[eggs] == 0 && place[troll] == 0 && prop[troll] == 0)
+ prop[troll] = 1;
+ k = 2;
+ if (here(eggs))
+ k = 1;
+ if (loc == plac[eggs])
+ k = 0;
+ move(eggs, plac[eggs]);
+ pspeak(eggs, k);
goto l2012;
- case 26: /* brief=8260 */
- spk=156;
- abbnum=10000;
- detail=3;
+ case 26: /* brief=8260 */
+ spk = 156;
+ abbnum = 10000;
+ detail = 3;
goto l2011;
- case 27: /* read=8270 */
- if (here(magzin)) obj=magzin;
- if (here(tablet)) obj=obj*100+tablet;
- if (here(messag)) obj=obj*100+messag;
- if (closed&&toting(oyster)) obj=oyster;
- if (obj>100||obj==0||dark(0)) goto l8000;
+ case 27: /* read=8270 */
+ if (here(magzin))
+ obj = magzin;
+ if (here(tablet))
+ obj = obj * 100 + tablet;
+ if (here(messag))
+ obj = obj * 100 + messag;
+ if (closed && toting(oyster))
+ obj = oyster;
+ if (obj > 100 || obj == 0 || dark(0))
+ goto l8000;
goto l9270;
- case 30: /* suspend=8300 */
- spk=201;
- if (demo) goto l2011;
+ case 30: /* suspend=8300 */
+ spk = 201;
+ if (demo)
+ goto l2011;
printf("I can suspend your adventure for you so");
printf(" you can resume later, but\n");
printf("you will have to wait at least");
- printf(" %d minutes before continuing.",latncy);
- if (!yes(200,54,54)) goto l2012;
- datime(&saved,&savet);
- ciao(argv[0]); /* Do we quit? */
- continue; /* Maybe not */
- case 31: /* hours=8310 */
+ printf(" %d minutes before continuing.", latncy);
+ if (!yes(200, 54, 54))
+ goto l2012;
+ datime(&saved, &savet);
+ ciao(argv[0]); /* Do we quit? */
+ continue; /* Maybe not */
+ case 31: /* hours=8310 */
printf("Colossal cave is closed 9am-5pm Mon ");
printf("through Fri except holidays.\n");
goto l2012;
- default: bug(23);
+ default:
+ bug(23);
}
- l4090:
- switch(verb)
- { case 1: /* take = 9010 */
- l9010: switch(trtake())
- { case 2011: goto l2011;
- case 9220: goto l9220;
- case 2009: goto l2009;
- case 2012: goto l2012;
- default: bug(102);
+l4090:
+ switch (verb) {
+ case 1: /* take = 9010 */
+ l9010: switch (trtake()) {
+ case 2011:
+ goto l2011;
+ case 9220:
+ goto l9220;
+ case 2009:
+ goto l2009;
+ case 2012:
+ goto l2012;
+ default:
+ bug(102);
}
- l9020: case 2: /* drop = 9020 */
- switch(trdrop())
- { case 2011: goto l2011;
- case 19000: done(3);
- case 2012: goto l2012;
- default: bug(105);
+ l9020: case 2: /* drop = 9020 */
+ switch (trdrop()) {
+ case 2011:
+ goto l2011;
+ case 19000:
+ done(3);
+ case 2012:
+ goto l2012;
+ default:
+ bug(105);
}
#if 0
l9030:
#endif
- case 3:
- switch(trsay())
- { case 2012: goto l2012;
- case 2630: goto l2630;
- default: bug(107);
+ case 3:
+ switch (trsay()) {
+ case 2012:
+ goto l2012;
+ case 2630:
+ goto l2630;
+ default:
+ bug(107);
}
- l9040: case 4: case 6: /* open, close */
- switch(tropen())
- { case 2011: goto l2011;
- case 2010: goto l2010;
- default: bug(106);
+ l9040: case 4:
+ case 6: /* open, close */
+ switch (tropen()) {
+ case 2011:
+ goto l2011;
+ case 2010:
+ goto l2010;
+ default:
+ bug(106);
}
- case 5: goto l2009; /* nothing */
- case 7: /* on 9070 */
- l9070: if (!here(lamp)) goto l2011;
- spk=184;
- if (limit<0) goto l2011;
- prop[lamp]=1;
+ case 5:
+ goto l2009; /* nothing */
+ case 7: /* on 9070 */
+ l9070: if (!here(lamp))
+ goto l2011;
+ spk = 184;
+ if (limit < 0)
+ goto l2011;
+ prop[lamp] = 1;
rspeak(39);
- if (wzdark) goto l2000;
+ if (wzdark)
+ goto l2000;
goto l2012;
- case 8: /* off */
- l9080: if (!here(lamp)) goto l2011;
- prop[lamp]=0;
+ case 8: /* off */
+ l9080: if (!here(lamp))
+ goto l2011;
+ prop[lamp] = 0;
rspeak(40);
- if (dark(0)) rspeak(16);
+ if (dark(0))
+ rspeak(16);
goto l2012;
- case 9: /* wave */
- if ((!toting(obj))&&(obj!=rod||!toting(rod2)))
- spk=29;
- if (obj!=rod||!at(fissur)||!toting(obj)||closng)
+ case 9: /* wave */
+ if ((!toting(obj)) && (obj != rod || !toting(rod2)))
+ spk = 29;
+ if (obj != rod || !at(fissur) || !toting(obj) || closng)
goto l2011;
- prop[fissur]=1-prop[fissur];
- pspeak(fissur,2-prop[fissur]);
+ prop[fissur] = 1 - prop[fissur];
+ pspeak(fissur, 2 - prop[fissur]);
goto l2012;
- case 10: case 11: case 18: /* calm, walk, quit */
- case 24: case 25: case 26: /* score, foo, brief */
- case 30: case 31: /* suspend, hours */
- goto l2011;
- l9120: case 12: /* kill */
- switch(trkill())
- { case 8000: goto l8000;
- case 8: goto l8;
- case 2011: goto l2011;
- case 2608: goto l2608;
- case 19000: done(3);
- default: bug(112);
+ case 10:
+ case 11:
+ case 18: /* calm, walk, quit */
+ case 24:
+ case 25:
+ case 26: /* score, foo, brief */
+ case 30:
+ case 31: /* suspend, hours */
+ goto l2011;
+ l9120: case 12:/* kill */
+ switch (trkill()) {
+ case 8000:
+ goto l8000;
+ case 8:
+ goto l8;
+ case 2011:
+ goto l2011;
+ case 2608:
+ goto l2608;
+ case 19000:
+ done(3);
+ default:
+ bug(112);
}
- l9130: case 13: /* pour */
- if (obj==bottle||obj==0) obj=liq(0);
- if (obj==0) goto l8000;
- if (!toting(obj)) goto l2011;
- spk=78;
- if (obj!=oil&&obj!=water) goto l2011;
- prop[bottle]=1;
- place[obj]=0;
- spk=77;
- if (!(at(plant)||at(door))) goto l2011;
- if (at(door))
- { prop[door]=0; /* 9132 */
- if (obj==oil) prop[door]=1;
- spk=113+prop[door];
+ l9130: case 13:/* pour */
+ if (obj == bottle || obj == 0)
+ obj = liq(0);
+ if (obj == 0)
+ goto l8000;
+ if (!toting(obj))
+ goto l2011;
+ spk = 78;
+ if (obj != oil && obj != water)
+ goto l2011;
+ prop[bottle] = 1;
+ place[obj] = 0;
+ spk = 77;
+ if (!(at(plant) || at(door)))
+ goto l2011;
+ if (at(door)) {
+ prop[door] = 0; /* 9132 */
+ if (obj == oil)
+ prop[door] = 1;
+ spk = 113 + prop[door];
goto l2011;
}
- spk=112;
- if (obj!=water) goto l2011;
- pspeak(plant,prop[plant]+1);
- prop[plant]=(prop[plant]+2)% 6;
- prop[plant2]=prop[plant]/2;
- k=null;
+ spk = 112;
+ if (obj != water)
+ goto l2011;
+ pspeak(plant, prop[plant] + 1);
+ prop[plant] = (prop[plant] + 2) % 6;
+ prop[plant2] = prop[plant] / 2;
+ k = null;
goto l8;
- case 14: /* 9140 - eat */
- if (obj==food) goto l8142;
- if (obj==bird||obj==snake||obj==clam||obj==oyster
- ||obj==dwarf||obj==dragon||obj==troll
- ||obj==bear) spk=71;
+ case 14: /* 9140 - eat */
+ if (obj == food)
+ goto l8142;
+ if (obj == bird || obj == snake || obj == clam || obj == oyster
+ || obj == dwarf || obj == dragon || obj == troll
+ || obj == bear)
+ spk = 71;
goto l2011;
- l9150: case 15: /* 9150 - drink */
- if (obj==0&&liqloc(loc)!=water&&(liq(0)!=water
- ||!here(bottle))) goto l8000;
- if (obj!=0&&obj!=water) spk=110;
- if (spk==110||liq(0)!=water||!here(bottle))
+ l9150: case 15:/* 9150 - drink */
+ if (obj == 0 && liqloc(loc) != water && (liq(0) != water
+ || !here(bottle)))
+ goto l8000;
+ if (obj != 0 && obj != water)
+ spk = 110;
+ if (spk == 110 || liq(0) != water || !here(bottle))
goto l2011;
- prop[bottle]=1;
- place[water]=0;
- spk=74;
+ prop[bottle] = 1;
+ place[water] = 0;
+ spk = 74;
goto l2011;
- case 16: /* 9160: rub */
- if (obj!=lamp) spk=76;
+ case 16: /* 9160: rub */
+ if (obj != lamp)
+ spk = 76;
goto l2011;
- case 17: /* 9170: throw */
- switch(trtoss())
- { case 2011: goto l2011;
- case 9020: goto l9020;
- case 9120: goto l9120;
- case 8: goto l8;
- case 9210: goto l9210;
- default: bug(113);
+ case 17: /* 9170: throw */
+ switch (trtoss()) {
+ case 2011:
+ goto l2011;
+ case 9020:
+ goto l9020;
+ case 9120:
+ goto l9120;
+ case 8:
+ goto l8;
+ case 9210:
+ goto l9210;
+ default:
+ bug(113);
}
- case 19: case 20: /* 9190: find, invent */
- if (at(obj)||(liq(0)==obj&&at(bottle))
- ||k==liqloc(loc)) spk=94;
- for (i=1; i<=5; i++)
- if (dloc[i]==loc&&dflag>=2&&obj==dwarf)
- spk=94;
- if (closed) spk=138;
- if (toting(obj)) spk=24;
+ case 19:
+ case 20: /* 9190: find, invent */
+ if (at(obj) || (liq(0) == obj && at(bottle))
+ || k == liqloc(loc))
+ spk = 94;
+ for (i = 1; i <= 5; i++)
+ if (dloc[i] == loc && dflag >= 2 && obj == dwarf)
+ spk = 94;
+ if (closed)
+ spk = 138;
+ if (toting(obj))
+ spk = 24;
goto l2011;
- l9210: case 21: /* feed */
- switch(trfeed())
- { case 2011: goto l2011;
- default: bug(114);
+ l9210: case 21:/* feed */
+ switch (trfeed()) {
+ case 2011:
+ goto l2011;
+ default:
+ bug(114);
}
- l9220: case 22: /* fill */
- switch(trfill())
- { case 2011: goto l2011;
- case 8000: goto l8000;
- case 9020: goto l9020;
- default: bug(115);
+ l9220: case 22:/* fill */
+ switch (trfill()) {
+ case 2011:
+ goto l2011;
+ case 8000:
+ goto l8000;
+ case 9020:
+ goto l9020;
+ default:
+ bug(115);
}
- l9230: case 23: /* blast */
- if (prop[rod2]<0||!closed) goto l2011;
- bonus=133;
- if (loc==115) bonus=134;
- if (here(rod2)) bonus=135;
+ l9230: case 23:/* blast */
+ if (prop[rod2] < 0 || !closed)
+ goto l2011;
+ bonus = 133;
+ if (loc == 115)
+ bonus = 134;
+ if (here(rod2))
+ bonus = 135;
rspeak(bonus);
done(2);
- l9270: case 27: /* read */
- if (dark(0)) goto l5190;
- if (obj==magzin) spk=190;
- if (obj==tablet) spk=196;
- if (obj==messag) spk=191;
- if (obj==oyster&&hinted[2]&&toting(oyster)) spk=194;
- if (obj!=oyster||hinted[2]||!toting(oyster)
- ||!closed) goto l2011;
- hinted[2]=yes(192,193,54);
+ l9270: case 27:/* read */
+ if (dark(0))
+ goto l5190;
+ if (obj == magzin)
+ spk = 190;
+ if (obj == tablet)
+ spk = 196;
+ if (obj == messag)
+ spk = 191;
+ if (obj == oyster && hinted[2] && toting(oyster))
+ spk = 194;
+ if (obj != oyster || hinted[2] || !toting(oyster)
+ || !closed)
+ goto l2011;
+ hinted[2] = yes(192, 193, 54);
goto l2012;
#if 0
l9280:
#endif
- case 28: /* break */
- if (obj==mirror) spk=148;
- if (obj==vase&&prop[vase]==0)
- { spk=198;
- if (toting(vase)) drop(vase,loc);
- prop[vase]=2;
- fixed[vase]= -1;
+ case 28: /* break */
+ if (obj == mirror)
+ spk = 148;
+ if (obj == vase && prop[vase] == 0) {
+ spk = 198;
+ if (toting(vase))
+ drop(vase, loc);
+ prop[vase] = 2;
+ fixed[vase] = -1;
goto l2011;
}
- if (obj!=mirror||!closed) goto l2011;
+ if (obj != mirror || !closed)
+ goto l2011;
rspeak(197);
done(3);
#if 0
l9290:
#endif
- case 29: /* wake */
- if (obj!=dwarf||!closed) goto l2011;
+ case 29: /* wake */
+ if (obj != dwarf || !closed)
+ goto l2011;
rspeak(199);
done(3);
- default: bug(24);
+ default:
+ bug(24);
}
- l5000:
- obj=k;
- if (fixed[k]!=loc && !here(k)) goto l5100;
- l5010: if (*wd2!=0) goto l2800;
- if (verb!=0) goto l4090;
- printf("What do you want to do with the %s?\n",wd1);
+l5000:
+ obj = k;
+ if (fixed[k] != loc && !here(k))
+ goto l5100;
+l5010: if (*wd2 != 0)
+ goto l2800;
+ if (verb != 0)
+ goto l4090;
+ printf("What do you want to do with the %s?\n", wd1);
goto l2600;
- l5100: if (k!=grate) goto l5110;
- if (loc==1||loc==4||loc==7) k=dprssn;
- if (loc>9&&loc<15) k=entrnc;
- if (k!=grate) goto l8;
- l5110: if (k!=dwarf) goto l5120;
- for (i=1; i<=5; i++)
- if (dloc[i]==loc&&dflag>=2) goto l5010;
- l5120: if ((liq(0)==k&&here(bottle))||k==liqloc(loc)) goto l5010;
- if (obj!=plant||!at(plant2)||prop[plant2]==0) goto l5130;
- obj=plant2;
+l5100: if (k != grate)
+ goto l5110;
+ if (loc == 1 || loc == 4 || loc == 7)
+ k = dprssn;
+ if (loc > 9 && loc < 15)
+ k = entrnc;
+ if (k != grate)
+ goto l8;
+l5110: if (k != dwarf)
+ goto l5120;
+ for (i = 1; i <= 5; i++)
+ if (dloc[i] == loc && dflag >= 2)
+ goto l5010;
+l5120: if ((liq(0) == k && here(bottle)) || k == liqloc(loc))
+ goto l5010;
+ if (obj != plant || !at(plant2) || prop[plant2] == 0)
+ goto l5130;
+ obj = plant2;
goto l5010;
- l5130: if (obj!=knife||knfloc!=loc) goto l5140;
+l5130: if (obj != knife || knfloc != loc)
+ goto l5140;
knfloc = -1;
- spk=116;
+ spk = 116;
goto l2011;
- l5140: if (obj!=rod||!here(rod2)) goto l5190;
- obj=rod2;
+l5140: if (obj != rod || !here(rod2))
+ goto l5190;
+ obj = rod2;
goto l5010;
- l5190: if ((verb==find||verb==invent)&&*wd2==0) goto l5010;
- printf("I see no %s here\n",wd1);
+l5190: if ((verb == find || verb == invent) && *wd2 == 0)
+ goto l5010;
+ printf("I see no %s here\n", wd1);
goto l2012;
}
}