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_one/Object_files/Object.cpp@16:4e49f5cb972e, 2019-04-20 (annotated)
- Committer:
- yfkwok
- Date:
- Sat Apr 20 15:20:43 2019 +0000
- Revision:
- 16:4e49f5cb972e
- Parent:
- 2:464c7e62d97d
20/04/2019 - Update documentation for Game 1 Classes and Score
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yfkwok | 2:464c7e62d97d | 1 | #include "Object.h" |
yfkwok | 2:464c7e62d97d | 2 | |
yfkwok | 2:464c7e62d97d | 3 | Object::Object() |
yfkwok | 2:464c7e62d97d | 4 | { |
yfkwok | 2:464c7e62d97d | 5 | |
yfkwok | 2:464c7e62d97d | 6 | } |
yfkwok | 2:464c7e62d97d | 7 | |
yfkwok | 2:464c7e62d97d | 8 | Object::~Object() |
yfkwok | 2:464c7e62d97d | 9 | { |
yfkwok | 2:464c7e62d97d | 10 | |
yfkwok | 2:464c7e62d97d | 11 | } |
yfkwok | 2:464c7e62d97d | 12 | |
yfkwok | 2:464c7e62d97d | 13 | void Object::init(int speed) |
yfkwok | 2:464c7e62d97d | 14 | { |
yfkwok | 2:464c7e62d97d | 15 | _speed = speed; |
yfkwok | 2:464c7e62d97d | 16 | |
yfkwok | 16:4e49f5cb972e | 17 | int position = rand() % 3; // randomise initial position. |
yfkwok | 2:464c7e62d97d | 18 | |
yfkwok | 16:4e49f5cb972e | 19 | // 3 possibilities. Get random modulo and set initial position accordingly |
yfkwok | 2:464c7e62d97d | 20 | if (position == 0) { |
yfkwok | 2:464c7e62d97d | 21 | _x = -9; |
yfkwok | 2:464c7e62d97d | 22 | _y = 1; |
yfkwok | 2:464c7e62d97d | 23 | } else if (position == 1) { |
yfkwok | 2:464c7e62d97d | 24 | _x = -9; |
yfkwok | 2:464c7e62d97d | 25 | _y = 16; |
yfkwok | 2:464c7e62d97d | 26 | } else if (position == 2) { |
yfkwok | 2:464c7e62d97d | 27 | _x = -9; |
yfkwok | 2:464c7e62d97d | 28 | _y = 32; |
yfkwok | 2:464c7e62d97d | 29 | } |
yfkwok | 2:464c7e62d97d | 30 | } |
yfkwok | 2:464c7e62d97d | 31 | |
yfkwok | 2:464c7e62d97d | 32 | void Object::draw(N5110 &lcd) |
yfkwok | 2:464c7e62d97d | 33 | { |
yfkwok | 2:464c7e62d97d | 34 | static int Object_data[] = { |
yfkwok | 2:464c7e62d97d | 35 | 1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0, |
yfkwok | 2:464c7e62d97d | 36 | 1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0, |
yfkwok | 2:464c7e62d97d | 37 | 1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0, |
yfkwok | 2:464c7e62d97d | 38 | 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0, |
yfkwok | 2:464c7e62d97d | 39 | 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, |
yfkwok | 2:464c7e62d97d | 40 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 41 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 42 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 43 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 44 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 45 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 46 | 1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 47 | 0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 48 | 0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 49 | 0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1, |
yfkwok | 2:464c7e62d97d | 50 | 0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1 |
yfkwok | 2:464c7e62d97d | 51 | }; |
yfkwok | 16:4e49f5cb972e | 52 | // Sprite for the block object |
yfkwok | 2:464c7e62d97d | 53 | lcd.drawSprite(_x, _y, 16, 17, Object_data); |
yfkwok | 2:464c7e62d97d | 54 | } |
yfkwok | 2:464c7e62d97d | 55 | |
yfkwok | 2:464c7e62d97d | 56 | void Object::update() |
yfkwok | 2:464c7e62d97d | 57 | { |
yfkwok | 2:464c7e62d97d | 58 | _x += _speed; |
yfkwok | 2:464c7e62d97d | 59 | } |
yfkwok | 2:464c7e62d97d | 60 | |
yfkwok | 2:464c7e62d97d | 61 | void Object::set_velocity(int speed) |
yfkwok | 2:464c7e62d97d | 62 | { |
yfkwok | 2:464c7e62d97d | 63 | _speed = speed; |
yfkwok | 2:464c7e62d97d | 64 | } |
yfkwok | 2:464c7e62d97d | 65 | |
yfkwok | 2:464c7e62d97d | 66 | int Object::get_velocity() |
yfkwok | 2:464c7e62d97d | 67 | { |
yfkwok | 2:464c7e62d97d | 68 | int speed = _speed; |
yfkwok | 2:464c7e62d97d | 69 | return speed; |
yfkwok | 2:464c7e62d97d | 70 | } |
yfkwok | 2:464c7e62d97d | 71 | |
yfkwok | 2:464c7e62d97d | 72 | Vector2D Object::get_pos() |
yfkwok | 2:464c7e62d97d | 73 | { |
yfkwok | 2:464c7e62d97d | 74 | Vector2D p = {_x,_y}; |
yfkwok | 2:464c7e62d97d | 75 | return p; |
yfkwok | 2:464c7e62d97d | 76 | } |
yfkwok | 2:464c7e62d97d | 77 | |
yfkwok | 2:464c7e62d97d | 78 | void Object::set_pos(Vector2D p) |
yfkwok | 2:464c7e62d97d | 79 | { |
yfkwok | 2:464c7e62d97d | 80 | _x = p.x; |
yfkwok | 2:464c7e62d97d | 81 | _y = p.y; |
yfkwok | 2:464c7e62d97d | 82 | } |