50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
/* Defined macros */
|
|
#define DEFAULTTRIES 9
|
|
#define MAXWORDLENGTH 100
|
|
#define ALPHABET 26
|
|
#define ALPHABET_NUM 36
|
|
|
|
/* Data structures */
|
|
typedef struct {
|
|
int moves; //Only wrong moves
|
|
int allowedMoves;
|
|
int guesses; //All guesses included valid moves
|
|
int maxy;
|
|
int maxx;
|
|
int centery;
|
|
int centerx;
|
|
char guessWord[MAXWORDLENGTH];
|
|
int wordLength;
|
|
char currentWord[MAXWORDLENGTH];
|
|
char wrongCharacters[DEFAULTTRIES];
|
|
int trollEnabled;
|
|
char *alphabet;
|
|
} game_state;
|
|
|
|
typedef struct word {
|
|
char character;
|
|
struct word *next;
|
|
} word;
|
|
|
|
|
|
/* Function prototypes */
|
|
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, char usedchar);
|
|
void drawGuessWord(game_state *gs);
|
|
int playerInput(game_state *gs);
|
|
int fillCurrentWord(game_state *gs, char validchar);
|
|
int stackWrongCharacter(game_state *gs, char wrongchar);
|
|
int checkWin(game_state *gs);
|
|
void printGameStats(game_state *gs);
|
|
void toLowerCase(char *str);
|
|
void showStartScreen(game_state *gs);
|
|
void startGame(game_state *gs);
|
|
void showHelp(game_state *gs);
|
|
int centerDiff(int coordinate, char *str);
|
|
void readRandomLine(char *file, char *result);
|
|
void trollHitScreen(game_state *gs, int hits);
|
|
void drawFigure(game_state *gs); |