initAlphabet, drawAlphabet, macros added #8

This commit is contained in:
2017-05-04 21:56:04 +02:00
parent 9acc6f3b86
commit c664c70a37
3 changed files with 38 additions and 2 deletions

View File

@@ -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) {
}
}
}

View File

@@ -1,6 +1,8 @@
/* Defined macros */
#define DEFAULTTRIES 9
#define MAXWORDLENGTH 100
#define ALPHABET 26
#define ALPHABET_NUM 36
/* Data structures */
typedef struct {
@@ -16,6 +18,7 @@ typedef struct {
char currentWord[MAXWORDLENGTH];
char wrongCharacters[DEFAULTTRIES];
int trollEnabled;
char *alphabet;
} game_state;
typedef struct word {
@@ -29,6 +32,8 @@ void quitProgram(void);
void updateScreen(game_state *gs);
void initCoordinates(game_state *gs);
void initGuessWord(game_state *gs, char *filename);
void initAlphabet(game_state *gs);
void drawAlphabet(game_state *gs);
void drawGuessWord(game_state *gs);
int playerInput(game_state *gs);
int fillCurrentWord(game_state *gs, char validchar);

View File

@@ -2,7 +2,7 @@
VERSION = 1.0
CC = /usr/bin/gcc
CC = gcc
CFLAGS = -Wall -g -D_REENTRANT -DVERSION=\"$(VERSION)\"
#LDFLAGS = -lm -lpthread `gtk-config --cflags` `gtk-config --libs` -lgthread
LDFLAGS = -lncurses