initAlphabet, drawAlphabet, macros added #8
This commit is contained in:
33
hangman.c
33
hangman.c
@@ -71,7 +71,8 @@ int main(int argc, char **argv) {
|
||||
|
||||
/* start game */
|
||||
initGuessWord(gs, filename);
|
||||
|
||||
initAlphabet(gs);
|
||||
drawAlphabet(gs);
|
||||
startGame(gs);
|
||||
|
||||
|
||||
@@ -149,6 +150,35 @@ void initGuessWord(game_state *gs, char *filename) {
|
||||
clear(); //clear the screen
|
||||
}
|
||||
|
||||
void initAlphabet(game_state *gs) {
|
||||
int hasNumber = 0;
|
||||
int i, j;
|
||||
for (i = 0; i < MAXWORDLENGTH; i++) {
|
||||
if (isdigit(gs->guessWord[i]) == 0) {
|
||||
hasNumber = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gs->alphabet = malloc(sizeof(char) * hasNumber ? ALPHABET : ALPHABET_NUM);
|
||||
|
||||
for (i = 'a', j = 0; i <= 'z'; i++, j++) {
|
||||
gs->alphabet[j] = i;
|
||||
}
|
||||
if (hasNumber) {
|
||||
j++;
|
||||
for (i = 0; i < 10; i++, j++) {
|
||||
gs->alphabet[j] = i;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void drawAlphabet(game_state *gs) {
|
||||
int start = centerDiff(gs->centerx, gs->alphabet);
|
||||
mvprintw(1, start, "%s", gs->alphabet);
|
||||
}
|
||||
|
||||
void toLowerCase(char *str) {
|
||||
int length = strlen(str);
|
||||
int i;
|
||||
@@ -342,5 +372,6 @@ void trollHitScreen(game_state *gs, int hits) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user