Added HangmanGame class, but does not work yet
Dependencies: SDFileSystem app epson mbed msp430 pl tests
hangman.h@0:fa7450a43b99, 2017-12-04 (annotated)
- Committer:
- group-FlexBook
- Date:
- Mon Dec 04 09:32:20 2017 +0000
- Revision:
- 0:fa7450a43b99
- Child:
- 1:a5ec6f9dcf0d
Initial commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
group-FlexBook | 0:fa7450a43b99 | 1 | // |
group-FlexBook | 0:fa7450a43b99 | 2 | // Filename: hangman.h |
group-FlexBook | 0:fa7450a43b99 | 3 | // |
group-FlexBook | 0:fa7450a43b99 | 4 | // Class for the hangman game played on pagesensor and pageflexenable. |
group-FlexBook | 0:fa7450a43b99 | 5 | // |
group-FlexBook | 0:fa7450a43b99 | 6 | |
group-FlexBook | 0:fa7450a43b99 | 7 | // include guards |
group-FlexBook | 0:fa7450a43b99 | 8 | |
group-FlexBook | 0:fa7450a43b99 | 9 | #include <memory> |
group-FlexBook | 0:fa7450a43b99 | 10 | #include "mbed.h" |
group-FlexBook | 0:fa7450a43b99 | 11 | #include "log.h" |
group-FlexBook | 0:fa7450a43b99 | 12 | //include more files, e.g. where eink display is changed, and to read from SD card |
group-FlexBook | 0:fa7450a43b99 | 13 | |
group-FlexBook | 0:fa7450a43b99 | 14 | namespace Flexbook |
group-FlexBook | 0:fa7450a43b99 | 15 | { |
group-FlexBook | 0:fa7450a43b99 | 16 | |
group-FlexBook | 0:fa7450a43b99 | 17 | class HangmanGame |
group-FlexBook | 0:fa7450a43b99 | 18 | { |
group-FlexBook | 0:fa7450a43b99 | 19 | public: |
group-FlexBook | 0:fa7450a43b99 | 20 | // Constructor needs to be explicit. |
group-FlexBook | 0:fa7450a43b99 | 21 | explicit HangmanGame(); |
group-FlexBook | 0:fa7450a43b99 | 22 | |
group-FlexBook | 0:fa7450a43b99 | 23 | // Destructor |
group-FlexBook | 0:fa7450a43b99 | 24 | ~HangmanGame(); |
group-FlexBook | 0:fa7450a43b99 | 25 | |
group-FlexBook | 0:fa7450a43b99 | 26 | // Game status indicator |
group-FlexBook | 0:fa7450a43b99 | 27 | boolean finished = false; |
group-FlexBook | 0:fa7450a43b99 | 28 | |
group-FlexBook | 0:fa7450a43b99 | 29 | private: |
group-FlexBook | 0:fa7450a43b99 | 30 | // Word to be guessed, word guessed so far |
group-FlexBook | 0:fa7450a43b99 | 31 | char[14] word, guessed; |
group-FlexBook | 0:fa7450a43b99 | 32 | |
group-FlexBook | 0:fa7450a43b99 | 33 | // Number of letters in word to be guessed |
group-FlexBook | 0:fa7450a43b99 | 34 | char wordlength; |
group-FlexBook | 0:fa7450a43b99 | 35 | |
group-FlexBook | 0:fa7450a43b99 | 36 | // Currently selected and previous position on the alphabet matrix |
group-FlexBook | 0:fa7450a43b99 | 37 | char currentpos, oldpos; |
group-FlexBook | 0:fa7450a43b99 | 38 | |
group-FlexBook | 0:fa7450a43b99 | 39 | // Status indicator for each letter on the alphabet matrix, already used or not? |
group-FlexBook | 0:fa7450a43b99 | 40 | boolean[27] alphabet; |
group-FlexBook | 0:fa7450a43b99 | 41 | |
group-FlexBook | 0:fa7450a43b99 | 42 | // Number of wrong guesses, equals number of elements of hanging man drawn |
group-FlexBook | 0:fa7450a43b99 | 43 | char hangstage; |
group-FlexBook | 0:fa7450a43b99 | 44 | |
group-FlexBook | 0:fa7450a43b99 | 45 | // Routine to determine how to move the cursor after electrode touch |
group-FlexBook | 0:fa7450a43b99 | 46 | char movecursor(char oldpos, char buttonnumber); |
group-FlexBook | 0:fa7450a43b99 | 47 | |
group-FlexBook | 0:fa7450a43b99 | 48 | // Routine to run after confirming selection of a position in the alphabet matrix |
group-FlexBook | 0:fa7450a43b99 | 49 | void select(); |
group-FlexBook | 0:fa7450a43b99 | 50 | |
group-FlexBook | 0:fa7450a43b99 | 51 | // Routine to redraw the alphabet matrix after a cursor move |
group-FlexBook | 0:fa7450a43b99 | 52 | void redrawalphabet(char newpos, char oldpos); |
group-FlexBook | 0:fa7450a43b99 | 53 | |
group-FlexBook | 0:fa7450a43b99 | 54 | }; |
group-FlexBook | 0:fa7450a43b99 | 55 | |
group-FlexBook | 0:fa7450a43b99 | 56 | } |