mirror of
https://github.com/mfocko/blog.git
synced 2024-11-14 10:09:40 +01:00
56 lines
2.3 KiB
C
56 lines
2.3 KiB
C
|
#include <stdbool.h>
|
||
|
|
||
|
#define WORDLIST_FILENAME "words.txt"
|
||
|
|
||
|
/**
|
||
|
* Function detects, whether player guessed the secret word
|
||
|
* Based on the letters player used for guessing, this function detects,
|
||
|
* if it is possible to construct (and guess) the secret word from this set.
|
||
|
* If it is possible, function returns true. If not, returns false.
|
||
|
* @param secret the secret word lowercase
|
||
|
* @param letters_guessed the lowercase letters player already used in his guessing
|
||
|
* @return true, if word is guess; false otherwise.
|
||
|
*/
|
||
|
bool word_guessed(const char secret[], const char letters_guessed[]);
|
||
|
|
||
|
/**
|
||
|
* Function returns string representing the guessed word
|
||
|
* This string contains visible letters, which were guessed successfuly
|
||
|
* by player at their correct positions. If there are still some hidden
|
||
|
* letters, the character '_' will be used for their representation.
|
||
|
* @param secret the secret word lowercase
|
||
|
* @param letters_guessed the lowercase letters player already used in his guessing
|
||
|
* @param guessed_word the constructed string as result of this function (output parameter)
|
||
|
*/
|
||
|
void censor_word(const char secret[], const char letters_guessed[], char guessed_word[]);
|
||
|
|
||
|
/**
|
||
|
* Returns all letters, which were not used for guessing
|
||
|
* Function returns set of lowercase letters sorted in alphabetical order. This
|
||
|
* set will contain all letters from the alphabet, but it ommits those, which
|
||
|
* were already guessed.
|
||
|
* @param letters_guessed the lowercase letters player already used in his guessing
|
||
|
* @param available_letters set of lowercase not yet used letters
|
||
|
*/
|
||
|
void get_available_letters(const char letters_guessed[], char available_letters[]);
|
||
|
|
||
|
/**
|
||
|
* Starts interactive hangman game
|
||
|
*
|
||
|
* @param secret the secret word lowercase
|
||
|
*/
|
||
|
void hangman(const char secret[]);
|
||
|
|
||
|
/**
|
||
|
* Returns the random word
|
||
|
* Function opens the file with all the words and reads randomly one of them
|
||
|
* into the buffer pointed by secret. Word consists of lowercase letters.
|
||
|
* If there is some error with reading the file, 1 is returned.
|
||
|
* Don't forget to initialize the random numbers in your main() function will srand() call!
|
||
|
* Otherwise (everything is ok), 0 is returned.
|
||
|
* @param wordlist path to the file with words
|
||
|
* @param secret buffer, where random word will be read
|
||
|
* @return status code
|
||
|
*/
|
||
|
int get_word(const char *wordlist, char secret[]);
|