Game codes for Pokemon Academy Yiu Fai Kwok - 201198802 I have read the University Regulations on Plagiarism and state that the work covered by this declaration is my own and does not contain any unacknowledged work from other sources.
Dependencies: mbed FXOS8700CQ mbed-rtos
Game_two/Facebook_files/Facebook.cpp@19:903d67bb0dea, 2019-04-21 (annotated)
- Committer:
- yfkwok
- Date:
- Sun Apr 21 12:14:59 2019 +0000
- Revision:
- 19:903d67bb0dea
- Parent:
- 14:abe64fe0b6a5
- Child:
- 26:c60becf3f840
21/04/2019 - Documentation for all the classes created for the game
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yfkwok | 14:abe64fe0b6a5 | 1 | #include "Facebook.h" |
yfkwok | 14:abe64fe0b6a5 | 2 | |
yfkwok | 14:abe64fe0b6a5 | 3 | Facebook::Facebook() |
yfkwok | 14:abe64fe0b6a5 | 4 | { |
yfkwok | 14:abe64fe0b6a5 | 5 | |
yfkwok | 14:abe64fe0b6a5 | 6 | } |
yfkwok | 14:abe64fe0b6a5 | 7 | |
yfkwok | 14:abe64fe0b6a5 | 8 | Facebook::~Facebook() |
yfkwok | 14:abe64fe0b6a5 | 9 | { |
yfkwok | 14:abe64fe0b6a5 | 10 | |
yfkwok | 14:abe64fe0b6a5 | 11 | } |
yfkwok | 14:abe64fe0b6a5 | 12 | |
yfkwok | 14:abe64fe0b6a5 | 13 | void Facebook::init(int speed) |
yfkwok | 14:abe64fe0b6a5 | 14 | { |
yfkwok | 19:903d67bb0dea | 15 | int position = rand() % 8; // randomise initial direction and position. |
yfkwok | 14:abe64fe0b6a5 | 16 | |
yfkwok | 19:903d67bb0dea | 17 | // 8 possibilities. Get random modulo and set velocities and position accordingly |
yfkwok | 14:abe64fe0b6a5 | 18 | if (position == 0) { |
yfkwok | 14:abe64fe0b6a5 | 19 | _x = -9; |
yfkwok | 14:abe64fe0b6a5 | 20 | _y = 12; |
yfkwok | 14:abe64fe0b6a5 | 21 | _velocity.x = speed * 2; |
yfkwok | 14:abe64fe0b6a5 | 22 | _velocity.y = speed; |
yfkwok | 14:abe64fe0b6a5 | 23 | } else if (position == 1) { |
yfkwok | 14:abe64fe0b6a5 | 24 | _x = 20; |
yfkwok | 14:abe64fe0b6a5 | 25 | _y = -9; |
yfkwok | 14:abe64fe0b6a5 | 26 | _velocity.x = speed * 2; |
yfkwok | 14:abe64fe0b6a5 | 27 | _velocity.y = speed *2; |
yfkwok | 14:abe64fe0b6a5 | 28 | } else if (position == 2) { |
yfkwok | 14:abe64fe0b6a5 | 29 | _x = 60; |
yfkwok | 14:abe64fe0b6a5 | 30 | _y = -9; |
yfkwok | 14:abe64fe0b6a5 | 31 | _velocity.x = -speed * 2; |
yfkwok | 14:abe64fe0b6a5 | 32 | _velocity.y = speed *2; |
yfkwok | 14:abe64fe0b6a5 | 33 | } else if (position == 3) { |
yfkwok | 14:abe64fe0b6a5 | 34 | _x = 83; |
yfkwok | 14:abe64fe0b6a5 | 35 | _y = 14; |
yfkwok | 14:abe64fe0b6a5 | 36 | _velocity.x = -speed * 3; |
yfkwok | 14:abe64fe0b6a5 | 37 | _velocity.y = speed; |
yfkwok | 14:abe64fe0b6a5 | 38 | } else if (position == 4) { |
yfkwok | 14:abe64fe0b6a5 | 39 | _x = 83; |
yfkwok | 14:abe64fe0b6a5 | 40 | _y = 35; |
yfkwok | 14:abe64fe0b6a5 | 41 | _velocity.x = -speed * 3; |
yfkwok | 14:abe64fe0b6a5 | 42 | _velocity.y = -speed *2; |
yfkwok | 14:abe64fe0b6a5 | 43 | } else if (position == 5) { |
yfkwok | 14:abe64fe0b6a5 | 44 | _x = 60; |
yfkwok | 14:abe64fe0b6a5 | 45 | _y = 47; |
yfkwok | 14:abe64fe0b6a5 | 46 | _velocity.x = -speed * 2; |
yfkwok | 14:abe64fe0b6a5 | 47 | _velocity.y = -speed *2; |
yfkwok | 14:abe64fe0b6a5 | 48 | } else if (position == 6) { |
yfkwok | 14:abe64fe0b6a5 | 49 | _x = 20; |
yfkwok | 14:abe64fe0b6a5 | 50 | _y = 47; |
yfkwok | 14:abe64fe0b6a5 | 51 | _velocity.x = speed * 2; |
yfkwok | 14:abe64fe0b6a5 | 52 | _velocity.y = -speed *2; |
yfkwok | 14:abe64fe0b6a5 | 53 | } else if (position == 7) { |
yfkwok | 14:abe64fe0b6a5 | 54 | _x = -9; |
yfkwok | 14:abe64fe0b6a5 | 55 | _y = 30; |
yfkwok | 14:abe64fe0b6a5 | 56 | _velocity.x = speed * 3; |
yfkwok | 14:abe64fe0b6a5 | 57 | _velocity.y = -speed *2; |
yfkwok | 14:abe64fe0b6a5 | 58 | } |
yfkwok | 14:abe64fe0b6a5 | 59 | } |
yfkwok | 14:abe64fe0b6a5 | 60 | |
yfkwok | 14:abe64fe0b6a5 | 61 | void Facebook::draw(N5110 &lcd) |
yfkwok | 14:abe64fe0b6a5 | 62 | { |
yfkwok | 14:abe64fe0b6a5 | 63 | int Facebook_data[12][12] = { |
yfkwok | 14:abe64fe0b6a5 | 64 | {1,1,1,1,1,1,1,1,1,1,0,0}, |
yfkwok | 14:abe64fe0b6a5 | 65 | {1,1,1,1,1,1,1,1,1,1,1,0}, |
yfkwok | 14:abe64fe0b6a5 | 66 | {1,1,1,1,1,1,0,0,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 67 | {1,1,1,1,1,0,0,0,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 68 | {1,1,1,1,1,0,0,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 69 | {1,1,1,1,1,0,0,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 70 | {1,1,1,1,0,0,0,0,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 71 | {1,1,1,1,1,0,0,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 72 | {1,1,1,1,1,0,0,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 73 | {1,1,1,1,1,0,0,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 74 | {0,1,1,1,1,1,1,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 75 | {0,0,1,1,1,1,1,1,1,1,1,1}, |
yfkwok | 14:abe64fe0b6a5 | 76 | }; |
yfkwok | 14:abe64fe0b6a5 | 77 | |
yfkwok | 14:abe64fe0b6a5 | 78 | lcd.drawSprite(_x, _y, 12, 12, (int*)Facebook_data); |
yfkwok | 14:abe64fe0b6a5 | 79 | } |
yfkwok | 14:abe64fe0b6a5 | 80 | |
yfkwok | 14:abe64fe0b6a5 | 81 | void Facebook::update() |
yfkwok | 14:abe64fe0b6a5 | 82 | { |
yfkwok | 14:abe64fe0b6a5 | 83 | _x += _velocity.x; |
yfkwok | 14:abe64fe0b6a5 | 84 | _y += _velocity.y; |
yfkwok | 14:abe64fe0b6a5 | 85 | } |
yfkwok | 14:abe64fe0b6a5 | 86 | |
yfkwok | 14:abe64fe0b6a5 | 87 | void Facebook::set_velocity(Vector2D v) |
yfkwok | 14:abe64fe0b6a5 | 88 | { |
yfkwok | 14:abe64fe0b6a5 | 89 | _velocity.x = v.x; |
yfkwok | 14:abe64fe0b6a5 | 90 | _velocity.y = v.y; |
yfkwok | 14:abe64fe0b6a5 | 91 | } |
yfkwok | 14:abe64fe0b6a5 | 92 | |
yfkwok | 14:abe64fe0b6a5 | 93 | Vector2D Facebook::get_velocity() |
yfkwok | 14:abe64fe0b6a5 | 94 | { |
yfkwok | 14:abe64fe0b6a5 | 95 | Vector2D v = {_velocity.x,_velocity.y}; |
yfkwok | 14:abe64fe0b6a5 | 96 | return v; |
yfkwok | 14:abe64fe0b6a5 | 97 | } |
yfkwok | 14:abe64fe0b6a5 | 98 | |
yfkwok | 14:abe64fe0b6a5 | 99 | Vector2D Facebook::get_pos() |
yfkwok | 14:abe64fe0b6a5 | 100 | { |
yfkwok | 14:abe64fe0b6a5 | 101 | Vector2D p = {_x,_y}; |
yfkwok | 14:abe64fe0b6a5 | 102 | return p; |
yfkwok | 14:abe64fe0b6a5 | 103 | } |
yfkwok | 14:abe64fe0b6a5 | 104 | |
yfkwok | 14:abe64fe0b6a5 | 105 | void Facebook::set_pos(Vector2D p) |
yfkwok | 14:abe64fe0b6a5 | 106 | { |
yfkwok | 14:abe64fe0b6a5 | 107 | _x = p.x; |
yfkwok | 14:abe64fe0b6a5 | 108 | _y = p.y; |
yfkwok | 14:abe64fe0b6a5 | 109 | } |