Added HangmanGame class, but does not work yet
Dependencies: SDFileSystem app epson mbed msp430 pl tests
hangman.h@1:a5ec6f9dcf0d, 2017-12-04 (annotated)
- Committer:
- markpsymonds
- Date:
- Mon Dec 04 20:15:18 2017 +0000
- Revision:
- 1:a5ec6f9dcf0d
- Parent:
- 0:fa7450a43b99
Fixed most compile issues in hangman.cpp/.h.
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 |
markpsymonds | 1:a5ec6f9dcf0d | 27 | bool finished; |
group-FlexBook | 0:fa7450a43b99 | 28 | |
group-FlexBook | 0:fa7450a43b99 | 29 | private: |
group-FlexBook | 0:fa7450a43b99 | 30 | // Word to be guessed, word guessed so far |
markpsymonds | 1:a5ec6f9dcf0d | 31 | char word[14]; |
markpsymonds | 1:a5ec6f9dcf0d | 32 | char guessed[14]; |
group-FlexBook | 0:fa7450a43b99 | 33 | |
group-FlexBook | 0:fa7450a43b99 | 34 | // Number of letters in word to be guessed |
group-FlexBook | 0:fa7450a43b99 | 35 | char wordlength; |
group-FlexBook | 0:fa7450a43b99 | 36 | |
group-FlexBook | 0:fa7450a43b99 | 37 | // Currently selected and previous position on the alphabet matrix |
markpsymonds | 1:a5ec6f9dcf0d | 38 | char currentpos; |
markpsymonds | 1:a5ec6f9dcf0d | 39 | char oldpos; |
group-FlexBook | 0:fa7450a43b99 | 40 | |
group-FlexBook | 0:fa7450a43b99 | 41 | // Status indicator for each letter on the alphabet matrix, already used or not? |
markpsymonds | 1:a5ec6f9dcf0d | 42 | bool alphabet[27]; |
group-FlexBook | 0:fa7450a43b99 | 43 | |
group-FlexBook | 0:fa7450a43b99 | 44 | // Number of wrong guesses, equals number of elements of hanging man drawn |
group-FlexBook | 0:fa7450a43b99 | 45 | char hangstage; |
group-FlexBook | 0:fa7450a43b99 | 46 | |
group-FlexBook | 0:fa7450a43b99 | 47 | // Routine to determine how to move the cursor after electrode touch |
group-FlexBook | 0:fa7450a43b99 | 48 | char movecursor(char oldpos, char buttonnumber); |
group-FlexBook | 0:fa7450a43b99 | 49 | |
group-FlexBook | 0:fa7450a43b99 | 50 | // Routine to run after confirming selection of a position in the alphabet matrix |
group-FlexBook | 0:fa7450a43b99 | 51 | void select(); |
group-FlexBook | 0:fa7450a43b99 | 52 | |
group-FlexBook | 0:fa7450a43b99 | 53 | // Routine to redraw the alphabet matrix after a cursor move |
markpsymonds | 1:a5ec6f9dcf0d | 54 | void RedrawAlphabet(char newpos, char oldpos); |
group-FlexBook | 0:fa7450a43b99 | 55 | |
group-FlexBook | 0:fa7450a43b99 | 56 | }; |
group-FlexBook | 0:fa7450a43b99 | 57 | |
group-FlexBook | 0:fa7450a43b99 | 58 | } |