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

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?

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