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:
Wed Apr 03 03:06:00 2019 +0000
Revision:
2:464c7e62d97d
Child:
5:bc0691d02fd5
Date 3/4/2019 - Mini game one beta complete

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yfkwok 2:464c7e62d97d 1 #include "Start.h"
yfkwok 2:464c7e62d97d 2
yfkwok 2:464c7e62d97d 3 Start::Start()
yfkwok 2:464c7e62d97d 4 {
yfkwok 2:464c7e62d97d 5
yfkwok 2:464c7e62d97d 6 }
yfkwok 2:464c7e62d97d 7
yfkwok 2:464c7e62d97d 8 Start::~Start()
yfkwok 2:464c7e62d97d 9 {
yfkwok 2:464c7e62d97d 10
yfkwok 2:464c7e62d97d 11 }
yfkwok 2:464c7e62d97d 12
yfkwok 2:464c7e62d97d 13 void Start::init()
yfkwok 2:464c7e62d97d 14 {
yfkwok 2:464c7e62d97d 15 _pos_x = 2;
yfkwok 2:464c7e62d97d 16 _pos_y = 8;
yfkwok 2:464c7e62d97d 17 _pos_cy = 5;
yfkwok 2:464c7e62d97d 18 _pos_sy = 9;
yfkwok 2:464c7e62d97d 19 _pos_by = 13;
yfkwok 2:464c7e62d97d 20 _alt = 0;
yfkwok 2:464c7e62d97d 21 }
yfkwok 2:464c7e62d97d 22
yfkwok 2:464c7e62d97d 23 void Start::starter_draw(N5110 &lcd)
yfkwok 2:464c7e62d97d 24 {
yfkwok 2:464c7e62d97d 25 lcd.clear();
yfkwok 2:464c7e62d97d 26 _c1.draw_cha1_sprite(60, _pos_cy, lcd);
yfkwok 2:464c7e62d97d 27 _s1.draw_cha1_sprite(32, _pos_sy, lcd);
yfkwok 2:464c7e62d97d 28 _b1.draw_cha1_sprite(4, _pos_by, lcd);
yfkwok 2:464c7e62d97d 29 lcd.drawRect(_pos_x, _pos_y, 25, 25, FILL_TRANSPARENT);
yfkwok 2:464c7e62d97d 30 static int instruct_data[] = {
yfkwok 2:464c7e62d97d 31 1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,
yfkwok 2:464c7e62d97d 32 1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
yfkwok 2:464c7e62d97d 33 1,0,0,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,1,0,1,1,1,0,1,1,1,1,0,
yfkwok 2:464c7e62d97d 34 1,1,1,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
yfkwok 2:464c7e62d97d 35 1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
yfkwok 2:464c7e62d97d 36 1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,
yfkwok 2:464c7e62d97d 37 1,0,0,0,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,0,0,1,0,0,0,0,0,1,0,0,1,1,1,1,0,1,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,1,0,0,1,1,1,1,0,
yfkwok 2:464c7e62d97d 38 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
yfkwok 2:464c7e62d97d 39 1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
yfkwok 2:464c7e62d97d 40 1,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,
yfkwok 2:464c7e62d97d 41 1,0,0,0,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,0,
yfkwok 2:464c7e62d97d 42 1,1,1,1,0,0,0,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,1,0,0,0,
yfkwok 2:464c7e62d97d 43 0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,0,1,0,0,0,0,1,0,0,0,
yfkwok 2:464c7e62d97d 44 0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,1,0,1,0,0,1,
yfkwok 2:464c7e62d97d 45 1,1,1,1,0,0,0,1,0,0,0,1,0,0,1,0,1,0,0,1,0,0,0,1,0,0,0,0,0,0,1,1,1,1,0,1,1,1,1,0,0,0,0,1,1,1,1,0,1,1,1,1,0,1,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1
yfkwok 2:464c7e62d97d 46 };
yfkwok 2:464c7e62d97d 47 lcd.drawSprite(5, 33, 15, 69, instruct_data);
yfkwok 2:464c7e62d97d 48 lcd.refresh();
yfkwok 2:464c7e62d97d 49 }
yfkwok 2:464c7e62d97d 50
yfkwok 2:464c7e62d97d 51 void Start::starter_update(Gamepad &pad)
yfkwok 2:464c7e62d97d 52 {
yfkwok 2:464c7e62d97d 53 update_select(pad);
yfkwok 2:464c7e62d97d 54 update_animation_b(pad);
yfkwok 2:464c7e62d97d 55 update_animation_c(pad);
yfkwok 2:464c7e62d97d 56 update_animation_s(pad);
yfkwok 2:464c7e62d97d 57 update_alt();
yfkwok 2:464c7e62d97d 58 }
yfkwok 2:464c7e62d97d 59
yfkwok 2:464c7e62d97d 60 Vector2D Start::update_select(Gamepad &pad)
yfkwok 2:464c7e62d97d 61 {
yfkwok 2:464c7e62d97d 62 if(pad.get_direction() == E && _pos_x < 58){_pos_x = _pos_x + 28; _pos_y = _pos_y - 4;}
yfkwok 2:464c7e62d97d 63 else if(pad.get_direction() == W && _pos_x > 2){_pos_x = _pos_x - 28;_pos_y = _pos_y + 4;}
yfkwok 2:464c7e62d97d 64 Vector2D p = {_pos_x, _pos_y};
yfkwok 2:464c7e62d97d 65 return p;
yfkwok 2:464c7e62d97d 66 }
yfkwok 2:464c7e62d97d 67
yfkwok 2:464c7e62d97d 68 int Start::update_animation_b(Gamepad &pad)
yfkwok 2:464c7e62d97d 69 {
yfkwok 2:464c7e62d97d 70 if(_alt == 0 && _pos_x == 2){_pos_by = 13;}
yfkwok 2:464c7e62d97d 71 else if(_alt == 1 && _pos_x == 2){_pos_by = 11;}
yfkwok 2:464c7e62d97d 72 int pos_by = _pos_by;
yfkwok 2:464c7e62d97d 73 return pos_by;
yfkwok 2:464c7e62d97d 74 }
yfkwok 2:464c7e62d97d 75
yfkwok 2:464c7e62d97d 76 int Start::update_animation_c(Gamepad &pad)
yfkwok 2:464c7e62d97d 77 {
yfkwok 2:464c7e62d97d 78 if(_alt == 0 && _pos_x == 58){_pos_cy = 3;}
yfkwok 2:464c7e62d97d 79 else if(_alt == 1 && _pos_x == 58){_pos_cy = 5;}
yfkwok 2:464c7e62d97d 80 int pos_cy = _pos_cy;
yfkwok 2:464c7e62d97d 81 return pos_cy;
yfkwok 2:464c7e62d97d 82 }
yfkwok 2:464c7e62d97d 83
yfkwok 2:464c7e62d97d 84 int Start::update_animation_s(Gamepad &pad)
yfkwok 2:464c7e62d97d 85 {
yfkwok 2:464c7e62d97d 86 if(_alt == 0 && _pos_x == 30){_pos_sy = 7;}
yfkwok 2:464c7e62d97d 87 else if(_alt == 1 && _pos_x == 30){_pos_sy = 9;}
yfkwok 2:464c7e62d97d 88 int pos_sy = _pos_sy;
yfkwok 2:464c7e62d97d 89 return pos_sy;
yfkwok 2:464c7e62d97d 90 }
yfkwok 2:464c7e62d97d 91
yfkwok 2:464c7e62d97d 92 int Start::update_alt()
yfkwok 2:464c7e62d97d 93 {
yfkwok 2:464c7e62d97d 94 if(_alt == 0){_alt = 1;}
yfkwok 2:464c7e62d97d 95 else {_alt = 0;}
yfkwok 2:464c7e62d97d 96 int alt = _alt;
yfkwok 2:464c7e62d97d 97 return alt;
yfkwok 2:464c7e62d97d 98 }
yfkwok 2:464c7e62d97d 99
yfkwok 2:464c7e62d97d 100 void Start::set_pos(Vector2D p)
yfkwok 2:464c7e62d97d 101 {
yfkwok 2:464c7e62d97d 102 _pos_x = p.x;
yfkwok 2:464c7e62d97d 103 _pos_y = p.y;
yfkwok 2:464c7e62d97d 104 }
yfkwok 2:464c7e62d97d 105
yfkwok 2:464c7e62d97d 106 void Start::set_pos_csb(int pos_cy, int pos_sy, int pos_by)
yfkwok 2:464c7e62d97d 107 {
yfkwok 2:464c7e62d97d 108 _pos_cy = pos_cy;
yfkwok 2:464c7e62d97d 109 _pos_sy = pos_sy;
yfkwok 2:464c7e62d97d 110 _pos_by = pos_by;
yfkwok 2:464c7e62d97d 111 }
yfkwok 2:464c7e62d97d 112
yfkwok 2:464c7e62d97d 113 void Start::set_alt(int alt)
yfkwok 2:464c7e62d97d 114 {
yfkwok 2:464c7e62d97d 115 _alt = alt;
yfkwok 2:464c7e62d97d 116 }
yfkwok 2:464c7e62d97d 117
yfkwok 2:464c7e62d97d 118 int Start::get_select(Vector2D p)
yfkwok 2:464c7e62d97d 119 {
yfkwok 2:464c7e62d97d 120 int select = 0;
yfkwok 2:464c7e62d97d 121 int x = p.x;
yfkwok 2:464c7e62d97d 122 if(x == 2) {select = 0;}
yfkwok 2:464c7e62d97d 123 else if(x == 30) {select = 1;}
yfkwok 2:464c7e62d97d 124 else if(x == 58) {select = 2;}
yfkwok 2:464c7e62d97d 125 return select;
yfkwok 2:464c7e62d97d 126 }
yfkwok 2:464c7e62d97d 127
yfkwok 2:464c7e62d97d 128 void Start::intro(int select,Gamepad &pad, N5110 &lcd)
yfkwok 2:464c7e62d97d 129 {
yfkwok 2:464c7e62d97d 130 if(select == 2){_c1.description(pad, lcd);}
yfkwok 2:464c7e62d97d 131 else if(select == 1){_s1.description(pad, lcd);}
yfkwok 2:464c7e62d97d 132 else if(select == 0){_b1.description(pad, lcd);}
yfkwok 2:464c7e62d97d 133 }