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 May 08 23:57:04 2019 +0000
Revision:
33:f7ec806e14b6
Parent:
29:75a05e9f0e8d
09/05/19 - Inline comment added, functionalities complete, all Deoxygen comment added for classes

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yfkwok 2:464c7e62d97d 1 #include "Game_one.h"
yfkwok 2:464c7e62d97d 2
yfkwok 2:464c7e62d97d 3 Game_one::Game_one()
yfkwok 2:464c7e62d97d 4 {
yfkwok 2:464c7e62d97d 5
yfkwok 2:464c7e62d97d 6 }
yfkwok 2:464c7e62d97d 7
yfkwok 2:464c7e62d97d 8 Game_one::~Game_one()
yfkwok 2:464c7e62d97d 9 {
yfkwok 2:464c7e62d97d 10
yfkwok 2:464c7e62d97d 11 }
yfkwok 2:464c7e62d97d 12
yfkwok 17:5d8ff39a0e49 13 //Enumerate instruction menu from page 1 - 4
yfkwok 4:5bc9c4363d31 14 enum Page {
yfkwok 17:5d8ff39a0e49 15 PAGE_1, PAGE_2, PAGE_3, PAGE_4
yfkwok 4:5bc9c4363d31 16 };
yfkwok 4:5bc9c4363d31 17
yfkwok 2:464c7e62d97d 18 void Game_one::init(int speed, int cha, int r)
yfkwok 2:464c7e62d97d 19 {
yfkwok 2:464c7e62d97d 20 // Set the speed of the objects
yfkwok 2:464c7e62d97d 21 _speed = speed;
yfkwok 2:464c7e62d97d 22
yfkwok 2:464c7e62d97d 23 // Set the character being drawn
yfkwok 2:464c7e62d97d 24 _cha = cha;
yfkwok 2:464c7e62d97d 25
yfkwok 2:464c7e62d97d 26 // Set the random parameter for coin/block ratio
yfkwok 2:464c7e62d97d 27 _rand = r;
yfkwok 2:464c7e62d97d 28
yfkwok 17:5d8ff39a0e49 29 // Player's x position defined
yfkwok 2:464c7e62d97d 30 _p1x = 61;
yfkwok 2:464c7e62d97d 31
yfkwok 21:704d938acf5d 32 _x = -84;
yfkwok 20:50ad2dad310d 33
yfkwok 17:5d8ff39a0e49 34 // Initialize round counter
yfkwok 2:464c7e62d97d 35 _count = 0;
yfkwok 2:464c7e62d97d 36 _alt = 0;
yfkwok 2:464c7e62d97d 37
yfkwok 17:5d8ff39a0e49 38 // Initialize all game objects: character, coin and block
yfkwok 2:464c7e62d97d 39 _p1.init(_p1x);
yfkwok 2:464c7e62d97d 40 _coin.init(_speed);
yfkwok 2:464c7e62d97d 41 _block.init(_speed);
yfkwok 2:464c7e62d97d 42
yfkwok 2:464c7e62d97d 43 // 4 possibilities. 3 for coin, 1 for block.
yfkwok 2:464c7e62d97d 44 srand(time(NULL));
yfkwok 2:464c7e62d97d 45 _type = rand() % 4; // randomise type.
yfkwok 2:464c7e62d97d 46 }
yfkwok 2:464c7e62d97d 47
yfkwok 2:464c7e62d97d 48 void Game_one::render(N5110 &lcd, int cha)
yfkwok 2:464c7e62d97d 49 {
yfkwok 2:464c7e62d97d 50 lcd.clear();
yfkwok 2:464c7e62d97d 51 draw(lcd, cha);
yfkwok 2:464c7e62d97d 52 lcd.refresh();
yfkwok 2:464c7e62d97d 53 }
yfkwok 2:464c7e62d97d 54
yfkwok 2:464c7e62d97d 55 void Game_one::read_input(Gamepad &pad)
yfkwok 2:464c7e62d97d 56 {
yfkwok 17:5d8ff39a0e49 57 // Read input from Gamepad for direction and magnitude of motion control
yfkwok 2:464c7e62d97d 58 _d = pad.get_direction();
yfkwok 2:464c7e62d97d 59 _mag = pad.get_mag();
yfkwok 2:464c7e62d97d 60 }
yfkwok 2:464c7e62d97d 61
yfkwok 2:464c7e62d97d 62 void Game_one::draw(N5110 &lcd, int cha)
yfkwok 2:464c7e62d97d 63 {
yfkwok 21:704d938acf5d 64 if (_x <= -3){
yfkwok 20:50ad2dad310d 65 _x = _x + _speed;
yfkwok 20:50ad2dad310d 66 background(lcd);
yfkwok 20:50ad2dad310d 67 draw_background(_x, lcd);
yfkwok 20:50ad2dad310d 68 } else {
yfkwok 21:704d938acf5d 69 _x = -84;
yfkwok 20:50ad2dad310d 70 background(lcd);
yfkwok 20:50ad2dad310d 71 draw_background(_x, lcd);
yfkwok 20:50ad2dad310d 72 }
yfkwok 2:464c7e62d97d 73 int alt = update_alt();
yfkwok 17:5d8ff39a0e49 74 // Draw player on lcd
yfkwok 2:464c7e62d97d 75 if(alt <= 1){_p1.draw(lcd, cha);}
yfkwok 2:464c7e62d97d 76 else {_p1.draw_alt(lcd, cha);}
yfkwok 21:704d938acf5d 77 // print_scores(lcd);
yfkwok 17:5d8ff39a0e49 78 // Spawn coin if _type < _rand
yfkwok 2:464c7e62d97d 79 if(_type < _rand) {_coin.draw(lcd);}
yfkwok 17:5d8ff39a0e49 80 // Spawn block if _type > _rand
yfkwok 2:464c7e62d97d 81 else {_block.draw(lcd);}
yfkwok 2:464c7e62d97d 82 }
yfkwok 2:464c7e62d97d 83
yfkwok 2:464c7e62d97d 84 void Game_one::update(Gamepad &pad, N5110 &lcd)
yfkwok 2:464c7e62d97d 85 {
yfkwok 2:464c7e62d97d 86 if(_type < _rand) {
yfkwok 2:464c7e62d97d 87 check_miss_coin(pad);
yfkwok 2:464c7e62d97d 88 _p1.update(_d,_mag);
yfkwok 2:464c7e62d97d 89 _coin.update();
yfkwok 2:464c7e62d97d 90 check_player_collect(pad);
yfkwok 2:464c7e62d97d 91 }
yfkwok 2:464c7e62d97d 92 else {
yfkwok 2:464c7e62d97d 93 check_miss_block(pad);
yfkwok 2:464c7e62d97d 94 _p1.update(_d,_mag);
yfkwok 2:464c7e62d97d 95 _block.update();
yfkwok 2:464c7e62d97d 96 check_player_collide(pad, lcd);
yfkwok 2:464c7e62d97d 97 }
yfkwok 2:464c7e62d97d 98 }
yfkwok 2:464c7e62d97d 99
yfkwok 2:464c7e62d97d 100 void Game_one::check_player_collect(Gamepad &pad)
yfkwok 2:464c7e62d97d 101 {
yfkwok 2:464c7e62d97d 102 // read current coin attributes
yfkwok 2:464c7e62d97d 103 Vector2D coin_pos = _coin.get_pos();
yfkwok 2:464c7e62d97d 104 int coin_speed = _coin.get_velocity();
yfkwok 2:464c7e62d97d 105
yfkwok 2:464c7e62d97d 106 // check p1 first
yfkwok 2:464c7e62d97d 107 Vector2D p1_pos = _p1.get_pos();
yfkwok 2:464c7e62d97d 108
yfkwok 2:464c7e62d97d 109 // see if coin has hit the player by checking for overlaps
yfkwok 2:464c7e62d97d 110 if (
yfkwok 2:464c7e62d97d 111 (coin_pos.y >= p1_pos.y) && //top
yfkwok 2:464c7e62d97d 112 (coin_pos.y <= p1_pos.y + 21) && //bottom
yfkwok 2:464c7e62d97d 113 (coin_pos.x >= _p1x) && //left
yfkwok 2:464c7e62d97d 114 (coin_pos.x <= _p1x + 17) //right
yfkwok 2:464c7e62d97d 115 )
yfkwok 2:464c7e62d97d 116 {
yfkwok 2:464c7e62d97d 117 // write new attributes
yfkwok 2:464c7e62d97d 118 _p1.add_score();
yfkwok 2:464c7e62d97d 119 _coin.init(_speed);
yfkwok 2:464c7e62d97d 120 music.coin(pad);
yfkwok 2:464c7e62d97d 121 _count++;
yfkwok 17:5d8ff39a0e49 122 _type = rand() % 8; // re-randomise _type to create new object if coin is being collected
yfkwok 2:464c7e62d97d 123 }
yfkwok 2:464c7e62d97d 124 }
yfkwok 2:464c7e62d97d 125
yfkwok 2:464c7e62d97d 126 void Game_one::check_player_collide(Gamepad &pad, N5110 &lcd)
yfkwok 2:464c7e62d97d 127 {
yfkwok 2:464c7e62d97d 128 // read current block attributes
yfkwok 2:464c7e62d97d 129 Vector2D block_pos = _block.get_pos();
yfkwok 2:464c7e62d97d 130 int block_speed = _block.get_velocity();
yfkwok 2:464c7e62d97d 131
yfkwok 2:464c7e62d97d 132 Vector2D p1_pos = _p1.get_pos();
yfkwok 2:464c7e62d97d 133
yfkwok 2:464c7e62d97d 134 // see if block has hit the player by checking for overlaps
yfkwok 2:464c7e62d97d 135 if (
yfkwok 5:bc0691d02fd5 136 (block_pos.y >= p1_pos.y - 6) && //top
yfkwok 5:bc0691d02fd5 137 (block_pos.y <= p1_pos.y + 14) && //bottom
yfkwok 2:464c7e62d97d 138 (block_pos.x >= _p1x) && //left
yfkwok 2:464c7e62d97d 139 (block_pos.x <= _p1x + 17) //right
yfkwok 2:464c7e62d97d 140 )
yfkwok 2:464c7e62d97d 141 {
yfkwok 17:5d8ff39a0e49 142 // write new attributes, execute gameover screen when block is collided
yfkwok 2:464c7e62d97d 143 _block.init(_speed);
yfkwok 2:464c7e62d97d 144 gameover(lcd, pad);
yfkwok 2:464c7e62d97d 145 }
yfkwok 2:464c7e62d97d 146 }
yfkwok 2:464c7e62d97d 147
yfkwok 2:464c7e62d97d 148 void Game_one::check_miss_coin(Gamepad &pad)
yfkwok 2:464c7e62d97d 149 {
yfkwok 2:464c7e62d97d 150 Vector2D coin_pos = _coin.get_pos();
yfkwok 17:5d8ff39a0e49 151 // Check if the player has missed
yfkwok 2:464c7e62d97d 152 if (coin_pos.x > WIDTH) {
yfkwok 2:464c7e62d97d 153 _coin.init(_speed);
yfkwok 2:464c7e62d97d 154 pad.tone(750.0,0.1);
yfkwok 17:5d8ff39a0e49 155 _count++; // Add 1 to increase coin counter to terminate game loop after 10 coins appeared
yfkwok 2:464c7e62d97d 156 wait(0.1);
yfkwok 17:5d8ff39a0e49 157 _type = rand() % 8; // re-randomise _type to create new object when coin is missed
yfkwok 2:464c7e62d97d 158 }
yfkwok 2:464c7e62d97d 159
yfkwok 2:464c7e62d97d 160 }
yfkwok 2:464c7e62d97d 161
yfkwok 2:464c7e62d97d 162 void Game_one::check_miss_block(Gamepad &pad)
yfkwok 2:464c7e62d97d 163 {
yfkwok 2:464c7e62d97d 164 Vector2D block_pos = _block.get_pos();
yfkwok 17:5d8ff39a0e49 165 // Check if player has missed
yfkwok 2:464c7e62d97d 166 if (block_pos.x > WIDTH) {
yfkwok 2:464c7e62d97d 167 _block.init(_speed);
yfkwok 2:464c7e62d97d 168 pad.tone(750.0,0.1);
yfkwok 2:464c7e62d97d 169 wait(0.1);
yfkwok 17:5d8ff39a0e49 170 _type = rand() % 8; // re-randomise _type to create new object when block is missed
yfkwok 2:464c7e62d97d 171 }
yfkwok 2:464c7e62d97d 172
yfkwok 2:464c7e62d97d 173 }
yfkwok 2:464c7e62d97d 174
yfkwok 2:464c7e62d97d 175 int Game_one::print_scores(N5110 &lcd)
yfkwok 2:464c7e62d97d 176 {
yfkwok 33:f7ec806e14b6 177 // get scores game
yfkwok 2:464c7e62d97d 178 int p1_score = _p1.get_score();
yfkwok 2:464c7e62d97d 179 int total = get_count();
yfkwok 2:464c7e62d97d 180
yfkwok 2:464c7e62d97d 181 // print to LCD i
yfkwok 2:464c7e62d97d 182 char buffer1[14];
yfkwok 2:464c7e62d97d 183 sprintf(buffer1,"%2d / %2d",p1_score, total);
yfkwok 2:464c7e62d97d 184 lcd.printString(buffer1,WIDTH/2 - 20,1); // font is 8 wide, so leave 4 pixel gape from middle assuming two digits
yfkwok 2:464c7e62d97d 185 return p1_score;
yfkwok 2:464c7e62d97d 186 }
yfkwok 2:464c7e62d97d 187
yfkwok 2:464c7e62d97d 188 int Game_one::get_count()
yfkwok 2:464c7e62d97d 189 {
yfkwok 2:464c7e62d97d 190 int count = _count;
yfkwok 2:464c7e62d97d 191 return count;
yfkwok 2:464c7e62d97d 192 }
yfkwok 2:464c7e62d97d 193
yfkwok 2:464c7e62d97d 194 int Game_one::update_alt()
yfkwok 2:464c7e62d97d 195 {
yfkwok 17:5d8ff39a0e49 196 // _alt parameter to alter the character sprite to create run animation
yfkwok 2:464c7e62d97d 197 if(_alt < 4){_alt = _alt++;}
yfkwok 2:464c7e62d97d 198 else {_alt=0;}
yfkwok 2:464c7e62d97d 199 int alt = _alt;
yfkwok 2:464c7e62d97d 200 return alt;
yfkwok 2:464c7e62d97d 201 }
yfkwok 2:464c7e62d97d 202
yfkwok 2:464c7e62d97d 203 void Game_one::gameover(N5110 &lcd, Gamepad &pad)
yfkwok 2:464c7e62d97d 204 {
yfkwok 17:5d8ff39a0e49 205 // Gameover screen instructions
yfkwok 2:464c7e62d97d 206 while(pad.check_event(Gamepad::B_PRESSED) == false) {
yfkwok 2:464c7e62d97d 207 lcd.clear();
yfkwok 2:464c7e62d97d 208 lcd.printString("You rushed ",0,0);
yfkwok 2:464c7e62d97d 209 lcd.printString("into a block!",0,1);
yfkwok 2:464c7e62d97d 210 lcd.printString("You are late",0,2);
yfkwok 2:464c7e62d97d 211 lcd.printString("for class!",0,3);
yfkwok 2:464c7e62d97d 212 lcd.printString("Press B",0,5);
yfkwok 2:464c7e62d97d 213 lcd.refresh();
yfkwok 2:464c7e62d97d 214 wait(0.1);
yfkwok 2:464c7e62d97d 215 }
yfkwok 2:464c7e62d97d 216 _count = 10;
yfkwok 4:5bc9c4363d31 217 }
yfkwok 4:5bc9c4363d31 218
yfkwok 20:50ad2dad310d 219 void Game_one::draw_background(int x, N5110 &lcd)
yfkwok 20:50ad2dad310d 220 {
yfkwok 21:704d938acf5d 221 int data [40][168] = {
yfkwok 21:704d938acf5d 222 {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,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,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 21:704d938acf5d 223 {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,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,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 21:704d938acf5d 224 {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,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,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,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,0,0,0,0,0,0,0},
yfkwok 21:704d938acf5d 225 {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
yfkwok 21:704d938acf5d 226 {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,1,1,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,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,1,1,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,0,0,0,0,0},
yfkwok 21:704d938acf5d 227 {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,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,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 21:704d938acf5d 228 {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,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,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 21:704d938acf5d 229 {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,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,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 21:704d938acf5d 230 {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,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,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 21:704d938acf5d 231 {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,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,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 21:704d938acf5d 232 {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,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,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 21:704d938acf5d 233 {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,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,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 21:704d938acf5d 234 {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,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,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 21:704d938acf5d 235 {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,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,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 21:704d938acf5d 236 {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,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,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 21:704d938acf5d 237 {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,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,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 21:704d938acf5d 238 {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,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,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 21:704d938acf5d 239 {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,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,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 21:704d938acf5d 240 {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,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,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 21:704d938acf5d 241 {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,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,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 21:704d938acf5d 242 {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,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,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 21:704d938acf5d 243 {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,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,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 21:704d938acf5d 244 {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,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,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 21:704d938acf5d 245 {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,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,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,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 21:704d938acf5d 246 {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,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,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,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 21:704d938acf5d 247 {0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,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,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,1,1,0,0,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,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 21:704d938acf5d 248 {0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,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,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,1,0,1,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,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 21:704d938acf5d 249 {0,0,0,0,0,0,0,0,0,0,0,1,1,0,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,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,1,1,0,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,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 21:704d938acf5d 250 {0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,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,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,1,0,0,1,0,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,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 21:704d938acf5d 251 {0,0,0,0,0,0,0,0,0,0,0,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,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,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,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 21:704d938acf5d 252 {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,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,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 21:704d938acf5d 253 {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,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,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 21:704d938acf5d 254 {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,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,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 21:704d938acf5d 255 {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,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,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 21:704d938acf5d 256 {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,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,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 21:704d938acf5d 257 {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,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,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 21:704d938acf5d 258 {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,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,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 21:704d938acf5d 259 {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,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,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 21:704d938acf5d 260 {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,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,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 21:704d938acf5d 261 {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,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,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 20:50ad2dad310d 262 };
yfkwok 21:704d938acf5d 263 lcd.drawSprite(x, 8, 40, 168, (int*)data);
yfkwok 20:50ad2dad310d 264 }
yfkwok 20:50ad2dad310d 265
yfkwok 20:50ad2dad310d 266 void Game_one::background(N5110 &lcd)
yfkwok 20:50ad2dad310d 267 {
yfkwok 21:704d938acf5d 268 int data [8][84] = {
yfkwok 21:704d938acf5d 269 {1,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,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,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,1,0,0,0,0,0,0,1,1},
yfkwok 21:704d938acf5d 270 {0,1,0,0,0,1,0,0,1,0,1,1,0,0,0,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,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0},
yfkwok 21:704d938acf5d 271 {0,0,1,1,1,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0},
yfkwok 21:704d938acf5d 272 {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,1,1,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0},
yfkwok 21:704d938acf5d 273 {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,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
yfkwok 21:704d938acf5d 274 {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,1,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},
yfkwok 21:704d938acf5d 275 {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,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
yfkwok 20:50ad2dad310d 276 };
yfkwok 21:704d938acf5d 277 lcd.drawSprite(1, 1, 8, 84, (int*)data);
yfkwok 20:50ad2dad310d 278 }
yfkwok 20:50ad2dad310d 279
yfkwok 4:5bc9c4363d31 280 void Game_one::intro(Gamepad &pad, N5110 &lcd)
yfkwok 4:5bc9c4363d31 281 {
yfkwok 17:5d8ff39a0e49 282 // Game 1 instruction pages
yfkwok 4:5bc9c4363d31 283 Page currentPage = PAGE_1;
yfkwok 4:5bc9c4363d31 284 int fps = 8.0;
yfkwok 11:5a6b9dffd78a 285 int instruct_data[4][7] = {
yfkwok 11:5a6b9dffd78a 286 {1,1,1,1,1,1,1},
yfkwok 11:5a6b9dffd78a 287 {0,1,1,1,1,1,0},
yfkwok 11:5a6b9dffd78a 288 {0,0,1,1,1,0,0},
yfkwok 11:5a6b9dffd78a 289 {0,0,0,1,0,0,0},
yfkwok 4:5bc9c4363d31 290 };
yfkwok 4:5bc9c4363d31 291
yfkwok 4:5bc9c4363d31 292 while(pad.check_event(Gamepad::A_PRESSED) == false){
yfkwok 4:5bc9c4363d31 293 switch (currentPage) {
yfkwok 4:5bc9c4363d31 294 case PAGE_1:
yfkwok 4:5bc9c4363d31 295 lcd.clear();
yfkwok 4:5bc9c4363d31 296 lcd.printString("Squirtle",0,0);
yfkwok 4:5bc9c4363d31 297 lcd.printString("is rushing",0,1);
yfkwok 4:5bc9c4363d31 298 lcd.printString("to his lecture",0,2);
yfkwok 4:5bc9c4363d31 299 lcd.printString("Collect coins",0,4);
yfkwok 11:5a6b9dffd78a 300 lcd.drawSprite(39, 44, 4, 7, (int *)instruct_data);
yfkwok 4:5bc9c4363d31 301 lcd.refresh();
yfkwok 4:5bc9c4363d31 302 if(pad.get_direction() == S){currentPage = PAGE_2;}
yfkwok 4:5bc9c4363d31 303 wait(1.0f/fps);
yfkwok 4:5bc9c4363d31 304 break;
yfkwok 4:5bc9c4363d31 305 case PAGE_2:
yfkwok 4:5bc9c4363d31 306 lcd.clear();
yfkwok 4:5bc9c4363d31 307 lcd.printString("so he can have",0,0);
yfkwok 4:5bc9c4363d31 308 lcd.printString("lunch and ",0,1);
yfkwok 4:5bc9c4363d31 309 lcd.printString("reach the",0,2);
yfkwok 4:5bc9c4363d31 310 lcd.printString("classroom in",0,3);
yfkwok 4:5bc9c4363d31 311 lcd.printString("time by ",0,4);
yfkwok 11:5a6b9dffd78a 312 lcd.drawSprite(39, 44, 4, 7, (int *)instruct_data);
yfkwok 4:5bc9c4363d31 313 lcd.refresh();
yfkwok 4:5bc9c4363d31 314 if(pad.get_direction() == S){currentPage = PAGE_3;}
yfkwok 17:5d8ff39a0e49 315 if(pad.get_direction() == N){currentPage = PAGE_1;}
yfkwok 4:5bc9c4363d31 316 wait(1.0f/fps);
yfkwok 4:5bc9c4363d31 317 break;
yfkwok 4:5bc9c4363d31 318 case PAGE_3:
yfkwok 4:5bc9c4363d31 319 lcd.clear();
yfkwok 4:5bc9c4363d31 320 lcd.printString("avoiding the",0,0);
yfkwok 17:5d8ff39a0e49 321 lcd.printString("blocks.",0,1);
yfkwok 17:5d8ff39a0e49 322 lcd.printString("Collect more",0,2);
yfkwok 17:5d8ff39a0e49 323 lcd.printString("than 7 coins",0,3);
yfkwok 17:5d8ff39a0e49 324 lcd.printString("to complete",0,4);
yfkwok 17:5d8ff39a0e49 325 lcd.drawSprite(39, 44, 4, 7, (int *)instruct_data);
yfkwok 17:5d8ff39a0e49 326 lcd.refresh();
yfkwok 17:5d8ff39a0e49 327 if(pad.get_direction() == S){currentPage = PAGE_4;}
yfkwok 17:5d8ff39a0e49 328 if(pad.get_direction() == N){currentPage = PAGE_2;}
yfkwok 17:5d8ff39a0e49 329 wait(1.0f/fps);
yfkwok 17:5d8ff39a0e49 330 break;
yfkwok 17:5d8ff39a0e49 331 case PAGE_4:
yfkwok 17:5d8ff39a0e49 332 lcd.clear();
yfkwok 17:5d8ff39a0e49 333 lcd.printString("the mission",0,0);
yfkwok 17:5d8ff39a0e49 334 lcd.printString("successfully!",0,1);
yfkwok 4:5bc9c4363d31 335 lcd.printString("Press A",0,5);
yfkwok 4:5bc9c4363d31 336 lcd.refresh();
yfkwok 17:5d8ff39a0e49 337 if(pad.get_direction() == N){currentPage = PAGE_3;}
yfkwok 4:5bc9c4363d31 338 wait(1.0f/fps);
yfkwok 17:5d8ff39a0e49 339 break;
yfkwok 4:5bc9c4363d31 340
yfkwok 4:5bc9c4363d31 341 }
yfkwok 4:5bc9c4363d31 342 }
yfkwok 5:bc0691d02fd5 343 }
yfkwok 5:bc0691d02fd5 344