|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T c
Length: 1628 (0x65c) Types: TextFile Names: »cvend.c«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987 └─⟦this⟧ »EUUGD18/General/Crystal/cvend.c«
/* cvend.c * do stuff about the end of the game. *************************************************************************/ #include <stdio.h> #include "cvmisc.h" #include "cvobj.h" #include "cvlocs.h" #include "cvocab.h" void getscore() { register struct cvobj *object; register struct hint *hint; score = 0; /* get a first impression of how far the adventurer went */ if (RICK->prop > 0) score = 10; if (DAM->prop > 0) score = 25; if (dflag != 0) score = 30; if (THRONE->prop == 0) score = 35; mxscore = 35; /* tally treasures. Full points if in barn and not broken. 2 points each for treasures seen. */ for (object = MINTRS; object < ENDTRS; ++object) { register int value; mxscore += (value = (object < RUG) ? 12 : ((object == RUG) ? 14 : 16)); if (object->prop >= 0) { if (INBARN(object) && (object->prop == 0 || object == CUP)) score += value; else score += 2; } } /* Now look at how he finished, and how far he got. * "maxdie" and "numdie" tell us how well he survived. * "gaveup" says whether he is using "QUIT". * "dflag" will tell us if he ever got suitably deep into the cave. * "closing" still indicates whether he reached the endgame. * if he got as far as "CAVE CLOSED" then bonus will be false for * mundane exits. */ score += (maxdie - numdie)*10; mxscore += maxdie * 10; if (!scoring && !gaveup) score += 10; mxscore += 10; if (closing) score += 30; mxscore += 30; if (closed) { score += 5; if (bonus) score += 15; } mxscore += 20; for (hint = hints; hint->turns >= 0; ++hint) { if (hint->hinted) score -= hint->points; } return; }