XJEL2645 (18/19)
/
Snake_Project
Du Xianjie 201089059
Snake/Snake.h@13:9a6aff771774, 2019-05-06 (annotated)
- 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?
User | Revision | Line number | New 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 |