Zhihao Gu 201189323 el18zg

Dependencies:   mbed

Committer:
el18zg
Date:
Fri Aug 23 11:12:18 2019 +0000
Revision:
1:1a35154ccfaf
Parent:
0:495e9c010de8
publish;

Who changed what in which revision?

UserRevisionLine numberNew 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