#7 use last word in case the hits are higher

This commit is contained in:
2017-05-03 21:31:51 +02:00
parent d220ade335
commit 99c5a7944a

View File

@@ -258,7 +258,7 @@ void printGameStats(game_state *gs) {
sprintf(message, "Game won! Total guesses: %i", gs->guesses); sprintf(message, "Game won! Total guesses: %i", gs->guesses);
mvprintw(gs->centery, gs->centerx - (strlen(message) / 2), message); mvprintw(gs->centery, gs->centerx - (strlen(message) / 2), message);
sprintf(message, "Wrong guesses: %i, right/wrong ratio: %.2f", gs->moves, (float)(gs->guesses - gs->moves) / gs->moves); sprintf(message, "Wrong guesses: %i, right/wrong ratio: %.2f", gs->moves, (float)(gs->guesses - gs->moves) / gs->moves);
mvprintw(gs->centery, gs->centerx - (strlen(message) / 2), message); mvprintw(gs->centery + 1, gs->centerx - (strlen(message) / 2), message);
} }
refresh(); refresh();
@@ -281,15 +281,19 @@ void readRandomLine(char *file, char *result) {
long totalLength = 0, rand = 0; long totalLength = 0, rand = 0;
FILE *fp = fopen(file, "r"); FILE *fp = fopen(file, "r");
char c; char c;
int wordlength = 0;
while ((c = fgetc(fp)) != EOF) { while ((c = fgetc(fp)) != EOF) {
if (c == '\n') ++totalLength; if (c == '\n') ++totalLength;
} }
rand = getrandom(0, totalLength); rand = getrandom(0, totalLength);
fseek(fp, rand, SEEK_SET); fseek(fp, -rand, SEEK_END);
fgets(result, MAXWORDLENGTH, fp); fgets(result, MAXWORDLENGTH, fp);
/* remove \n at the end of the line */
wordlength = strlen(result);
result[wordlength - 1] = '\0';
fclose(fp); fclose(fp);
} }
@@ -307,6 +311,10 @@ void trollHitScreen(game_state *gs, int hits) {
break; break;
} }
} }
if (hits > 10) {
found = 1;
i = 8;
}
if (found) { if (found) {
flash(); /* flash the screen */ flash(); /* flash the screen */
mvprintw(5, centerDiff(gs->centerx, strings[i]), strings[i]); mvprintw(5, centerDiff(gs->centerx, strings[i]), strings[i]);