Du Xianjie 201089059

Dependencies:   mbed FXOS8700Q

Committer:
VivianDu
Date:
Mon May 06 04:25:09 2019 +0000
Revision:
13:9a6aff771774
Parent:
12:5846e92948ad
Final Submission. I have read and agreed with Statement of Academic Integrity.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
VivianDu 0:bc1d36f5f772 1 #ifndef SNAKE_H
VivianDu 0:bc1d36f5f772 2 #define SNAKE_H
VivianDu 0:bc1d36f5f772 3
VivianDu 0:bc1d36f5f772 4 #include "Food.h"
VivianDu 0:bc1d36f5f772 5 #include <math.h>
VivianDu 0:bc1d36f5f772 6 #include <stdlib.h>
VivianDu 0:bc1d36f5f772 7 #include "Gamepad.h"
VivianDu 0:bc1d36f5f772 8 #include "mbed.h"
VivianDu 0:bc1d36f5f772 9 #include "N5110.h"
VivianDu 0:bc1d36f5f772 10
VivianDu 6:fca8b826b68a 11 /** pos struct */
VivianDu 0:bc1d36f5f772 12 struct snakePart{
VivianDu 0:bc1d36f5f772 13
VivianDu 6:fca8b826b68a 14 char _x[4000];/**< char for x value */
VivianDu 6:fca8b826b68a 15 char _y[4000];/**< char for y value */
VivianDu 6:fca8b826b68a 16 char _dir[4000];/**< char for dir value */
VivianDu 0:bc1d36f5f772 17
VivianDu 0:bc1d36f5f772 18 };
VivianDu 12:5846e92948ad 19
VivianDu 12:5846e92948ad 20 //libraies including
VivianDu 12:5846e92948ad 21
VivianDu 12:5846e92948ad 22 /** Snake Class
VivianDu 12:5846e92948ad 23 * @brief Does nothing useful
VivianDu 12:5846e92948ad 24 * @author Du Xianjie
VivianDu 12:5846e92948ad 25 * @date May, 2019
VivianDu 12:5846e92948ad 26 */
VivianDu 12:5846e92948ad 27
VivianDu 0:bc1d36f5f772 28 class Snake{
VivianDu 0:bc1d36f5f772 29
VivianDu 0:bc1d36f5f772 30 public:
VivianDu 0:bc1d36f5f772 31
VivianDu 4:6388f37804be 32 /** Constructor */
VivianDu 0:bc1d36f5f772 33 Snake();
VivianDu 4:6388f37804be 34 /** Destructor */
VivianDu 0:bc1d36f5f772 35 ~Snake();
VivianDu 0:bc1d36f5f772 36
VivianDu 4:6388f37804be 37 /** Set the draw
VivianDu 4:6388f37804be 38 * @param the figure (N5110 &lcd)
VivianDu 4:6388f37804be 39 */
VivianDu 0:bc1d36f5f772 40 void draw(N5110 &lcd);
VivianDu 4:6388f37804be 41 /** Set the gamepad
VivianDu 4:6388f37804be 42 * @param screen (Gamepad &pad)
VivianDu 4:6388f37804be 43 */
VivianDu 0:bc1d36f5f772 44 void update(Gamepad &pad);
VivianDu 4:6388f37804be 45 /** Set the deadsnake
VivianDu 4:6388f37804be 46 * @param dead snake(N5110 &lcd)
VivianDu 4:6388f37804be 47 */
VivianDu 0:bc1d36f5f772 48 void deadSnake(N5110 &lcd);
VivianDu 4:6388f37804be 49 /** Set the inital snake
VivianDu 4:6388f37804be 50 * @param initial snake(int x, int y, int lenght,int _live)
VivianDu 4:6388f37804be 51 */
VivianDu 0:bc1d36f5f772 52 void init(int x, int y, int lenght,int _live);
VivianDu 4:6388f37804be 53 /** Set the point
VivianDu 12:5846e92948ad 54 * @param food point()
VivianDu 4:6388f37804be 55 */
VivianDu 0:bc1d36f5f772 56 void addPoint();
VivianDu 4:6388f37804be 57 /** Check the wall collision
VivianDu 4:6388f37804be 58 * @param collision(N5110 &lcd)
VivianDu 4:6388f37804be 59 */
VivianDu 0:bc1d36f5f772 60 void checkWallCollision(N5110 &lcd);
VivianDu 4:6388f37804be 61 /** Check the tail collision
VivianDu 4:6388f37804be 62 * @param collision(N5110 &lcd)
VivianDu 4:6388f37804be 63 */
VivianDu 0:bc1d36f5f772 64 void checkTailCollision(N5110 &lcd);
VivianDu 4:6388f37804be 65 /** Show the score
VivianDu 4:6388f37804be 66 * @param score(N5110 &lcd)
VivianDu 4:6388f37804be 67 */
VivianDu 0:bc1d36f5f772 68 void drawScore(N5110 &lcd);
VivianDu 12:5846e92948ad 69 /** Show the length
VivianDu 12:5846e92948ad 70 * @return length(_length)
VivianDu 12:5846e92948ad 71 */
VivianDu 12:5846e92948ad 72
VivianDu 0:bc1d36f5f772 73 int _length;
VivianDu 0:bc1d36f5f772 74 int live;
VivianDu 0:bc1d36f5f772 75 int waitTime;
VivianDu 12:5846e92948ad 76
VivianDu 0:bc1d36f5f772 77 float waitCount;
VivianDu 0:bc1d36f5f772 78
VivianDu 0:bc1d36f5f772 79
VivianDu 0:bc1d36f5f772 80 private:
VivianDu 0:bc1d36f5f772 81
VivianDu 0:bc1d36f5f772 82
VivianDu 0:bc1d36f5f772 83 int _speed;
VivianDu 0:bc1d36f5f772 84 int _direction;
VivianDu 0:bc1d36f5f772 85
VivianDu 0:bc1d36f5f772 86 int startx;
VivianDu 0:bc1d36f5f772 87 int starty;
VivianDu 0:bc1d36f5f772 88 int startl;
VivianDu 0:bc1d36f5f772 89 int x;
VivianDu 0:bc1d36f5f772 90
VivianDu 0:bc1d36f5f772 91 Direction d;
VivianDu 0:bc1d36f5f772 92 Food _food;
VivianDu 0:bc1d36f5f772 93
VivianDu 0:bc1d36f5f772 94
VivianDu 1:b34f1b9b2b62 95 };//definition of variable and functions
VivianDu 0:bc1d36f5f772 96
VivianDu 0:bc1d36f5f772 97 #endif