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:
Thu Apr 18 04:53:04 2019 +0000
Revision:
14:abe64fe0b6a5
Child:
19:903d67bb0dea
18/04/2019 - Mini Game 2 Implementation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yfkwok 14:abe64fe0b6a5 1 #include "Twitter.h"
yfkwok 14:abe64fe0b6a5 2
yfkwok 14:abe64fe0b6a5 3 Twitter::Twitter()
yfkwok 14:abe64fe0b6a5 4 {
yfkwok 14:abe64fe0b6a5 5
yfkwok 14:abe64fe0b6a5 6 }
yfkwok 14:abe64fe0b6a5 7
yfkwok 14:abe64fe0b6a5 8 Twitter::~Twitter()
yfkwok 14:abe64fe0b6a5 9 {
yfkwok 14:abe64fe0b6a5 10
yfkwok 14:abe64fe0b6a5 11 }
yfkwok 14:abe64fe0b6a5 12
yfkwok 14:abe64fe0b6a5 13 void Twitter::init(int speed)
yfkwok 14:abe64fe0b6a5 14 {
yfkwok 14:abe64fe0b6a5 15 int position = rand() % 8; // randomise initial direction.
yfkwok 14:abe64fe0b6a5 16
yfkwok 14:abe64fe0b6a5 17 // 4 possibilities. Get random modulo and set velocities 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 Twitter::draw(N5110 &lcd)
yfkwok 14:abe64fe0b6a5 62 {
yfkwok 14:abe64fe0b6a5 63 int Twitter_data[12][12] = {
yfkwok 14:abe64fe0b6a5 64 {0,0,1,1,1,1,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 65 {0,1,1,1,0,0,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 66 {1,1,1,1,0,0,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 67 {1,1,1,1,0,0,0,0,0,0,1,1},
yfkwok 14:abe64fe0b6a5 68 {1,1,1,1,0,0,0,0,0,0,1,1},
yfkwok 14:abe64fe0b6a5 69 {1,1,1,1,0,0,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 70 {1,1,1,1,0,0,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 71 {1,1,1,1,0,0,0,0,0,0,1,1},
yfkwok 14:abe64fe0b6a5 72 {1,1,1,1,1,0,0,0,0,0,1,1},
yfkwok 14:abe64fe0b6a5 73 {1,1,1,1,1,1,1,1,1,1,1,1},
yfkwok 14:abe64fe0b6a5 74 {1,1,1,1,1,1,1,1,1,1,1,0},
yfkwok 14:abe64fe0b6a5 75 {1,1,1,1,1,1,1,1,1,1,0,0},
yfkwok 14:abe64fe0b6a5 76 };
yfkwok 14:abe64fe0b6a5 77
yfkwok 14:abe64fe0b6a5 78 lcd.drawSprite(_x, _y, 12, 12, (int*)Twitter_data);
yfkwok 14:abe64fe0b6a5 79 }
yfkwok 14:abe64fe0b6a5 80
yfkwok 14:abe64fe0b6a5 81 void Twitter::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 Twitter::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 Twitter::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 Twitter::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 Twitter::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 }