zhihao gu
/
tic-tac-toe
Zhihao Gu 201189323 el18zg
Chess/Chess.h@1:1a35154ccfaf, 2019-08-23 (annotated)
- Committer:
- el18zg
- Date:
- Fri Aug 23 11:12:18 2019 +0000
- Revision:
- 1:1a35154ccfaf
- Parent:
- 0:495e9c010de8
publish;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
el18zg | 0:495e9c010de8 | 1 | #ifndef CHESS_H |
el18zg | 0:495e9c010de8 | 2 | #define CHESS_H |
el18zg | 0:495e9c010de8 | 3 | |
el18zg | 0:495e9c010de8 | 4 | #include "mbed.h" |
el18zg | 0:495e9c010de8 | 5 | #include "N5110.h" |
el18zg | 0:495e9c010de8 | 6 | #include "Gamepad.h" |
el18zg | 0:495e9c010de8 | 7 | |
el18zg | 1:1a35154ccfaf | 8 | /** Chess Class |
el18zg | 1:1a35154ccfaf | 9 | @brief how to play chess |
el18zg | 1:1a35154ccfaf | 10 | @author Zhihao Gu |
el18zg | 1:1a35154ccfaf | 11 | @date Aug 2019 |
el18zg | 0:495e9c010de8 | 12 | */ |
el18zg | 0:495e9c010de8 | 13 | class Chess |
el18zg | 0:495e9c010de8 | 14 | { |
el18zg | 0:495e9c010de8 | 15 | public: |
el18zg | 0:495e9c010de8 | 16 | |
el18zg | 1:1a35154ccfaf | 17 | /** Constructor */ |
el18zg | 0:495e9c010de8 | 18 | Chess(); |
el18zg | 0:495e9c010de8 | 19 | |
el18zg | 0:495e9c010de8 | 20 | /* Destructor */ |
el18zg | 0:495e9c010de8 | 21 | ~Chess(); |
el18zg | 0:495e9c010de8 | 22 | |
el18zg | 1:1a35154ccfaf | 23 | // initialise the value |
el18zg | 0:495e9c010de8 | 24 | void init(int i, int j, int x1, int y1, int current_row, int current_col); |
el18zg | 0:495e9c010de8 | 25 | |
el18zg | 1:1a35154ccfaf | 26 | // draw the chess |
el18zg | 0:495e9c010de8 | 27 | void draw(N5110 &lcd); |
el18zg | 0:495e9c010de8 | 28 | |
el18zg | 1:1a35154ccfaf | 29 | // update the chess |
el18zg | 0:495e9c010de8 | 30 | void update(Direction d); |
el18zg | 0:495e9c010de8 | 31 | |
el18zg | 1:1a35154ccfaf | 32 | // press the button |
el18zg | 0:495e9c010de8 | 33 | void button_pressed(Gamepad &pad, N5110 &lcd); |
el18zg | 0:495e9c010de8 | 34 | |
el18zg | 1:1a35154ccfaf | 35 | /** draw the chess screen |
el18zg | 1:1a35154ccfaf | 36 | * @param chess screen @details chess |
el18zg | 0:495e9c010de8 | 37 | */ |
el18zg | 0:495e9c010de8 | 38 | void determine_current_player(); |
el18zg | 0:495e9c010de8 | 39 | |
el18zg | 1:1a35154ccfaf | 40 | /** shift the player and AI mode |
el18zg | 1:1a35154ccfaf | 41 | * @param player and AI mode @details mode |
el18zg | 0:495e9c010de8 | 42 | */ |
el18zg | 0:495e9c010de8 | 43 | void shift_player(N5110 &lcd); |
el18zg | 0:495e9c010de8 | 44 | |
el18zg | 1:1a35154ccfaf | 45 | /* make the AIchess */ |
el18zg | 0:495e9c010de8 | 46 | void AIchess(Gamepad &pad,N5110 &lcd); |
el18zg | 0:495e9c010de8 | 47 | |
el18zg | 0:495e9c010de8 | 48 | private: |
el18zg | 0:495e9c010de8 | 49 | |
el18zg | 1:1a35154ccfaf | 50 | // initialise value |
el18zg | 0:495e9c010de8 | 51 | int _i; |
el18zg | 0:495e9c010de8 | 52 | int _j; |
el18zg | 0:495e9c010de8 | 53 | int _x1; |
el18zg | 0:495e9c010de8 | 54 | int _y1; |
el18zg | 0:495e9c010de8 | 55 | char x; |
el18zg | 0:495e9c010de8 | 56 | char o; |
el18zg | 0:495e9c010de8 | 57 | int current_row; |
el18zg | 0:495e9c010de8 | 58 | int current_col; |
el18zg | 0:495e9c010de8 | 59 | int _current_player; |
el18zg | 0:495e9c010de8 | 60 | int chess[3][3]; |
el18zg | 0:495e9c010de8 | 61 | int _player; |
el18zg | 0:495e9c010de8 | 62 | |
el18zg | 0:495e9c010de8 | 63 | Direction _d; |
el18zg | 0:495e9c010de8 | 64 | |
el18zg | 0:495e9c010de8 | 65 | }; |
el18zg | 0:495e9c010de8 | 66 | #endif |