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:
Fri Mar 22 10:40:52 2019 +0000
Revision:
1:61b67654ffb7
Parent:
0:1da4db5de653
Child:
2:464c7e62d97d
Title page designed

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yfkwok 0:1da4db5de653 1 /*
yfkwok 0:1da4db5de653 2 ELEC2645 Embedded Systems Project
yfkwok 0:1da4db5de653 3 School of Electronic & Electrical Engineering
yfkwok 0:1da4db5de653 4 University of Leeds
yfkwok 0:1da4db5de653 5 Name: Yiu Fai Kwok
yfkwok 0:1da4db5de653 6 Username: el17yfk
yfkwok 0:1da4db5de653 7 Student ID Number: 201198802
yfkwok 0:1da4db5de653 8 Date: 11/03/2019
yfkwok 0:1da4db5de653 9 */
yfkwok 0:1da4db5de653 10
yfkwok 1:61b67654ffb7 11 #include "mbed.h"
yfkwok 1:61b67654ffb7 12 #include "N5110.h"
yfkwok 1:61b67654ffb7 13 #include "Gamepad.h"
yfkwok 1:61b67654ffb7 14
yfkwok 1:61b67654ffb7 15 /////////////// objects ///////////////
yfkwok 1:61b67654ffb7 16 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); // K64F - pwr from 3V3
yfkwok 1:61b67654ffb7 17 Gamepad pad;
yfkwok 1:61b67654ffb7 18
yfkwok 1:61b67654ffb7 19 ///////////// prototypes ///////////////
yfkwok 1:61b67654ffb7 20 void init();
yfkwok 1:61b67654ffb7 21 void welcome();
yfkwok 1:61b67654ffb7 22
yfkwok 1:61b67654ffb7 23 ///////////// functions ////////////////
yfkwok 1:61b67654ffb7 24 int main(){
yfkwok 1:61b67654ffb7 25
yfkwok 1:61b67654ffb7 26 int fps = 8; // frames per second
yfkwok 1:61b67654ffb7 27
yfkwok 1:61b67654ffb7 28 init(); // initialise and then display welcome screen...
yfkwok 1:61b67654ffb7 29 welcome(); // waiting for the user to start
yfkwok 1:61b67654ffb7 30
yfkwok 1:61b67654ffb7 31 wait(1.0f/fps); // and wait for one frame period
yfkwok 1:61b67654ffb7 32
yfkwok 1:61b67654ffb7 33 while(1) {
yfkwok 1:61b67654ffb7 34
yfkwok 1:61b67654ffb7 35 }
yfkwok 1:61b67654ffb7 36
yfkwok 1:61b67654ffb7 37 }
yfkwok 1:61b67654ffb7 38
yfkwok 1:61b67654ffb7 39 // initialies all classes and libraries
yfkwok 1:61b67654ffb7 40 void init()
yfkwok 1:61b67654ffb7 41 {
yfkwok 1:61b67654ffb7 42 lcd.init();
yfkwok 1:61b67654ffb7 43 // change set contrast in range 0.0 to 1.0
yfkwok 1:61b67654ffb7 44 // 0.4 appears to be a good starting point
yfkwok 1:61b67654ffb7 45 lcd.setContrast(0.4);
yfkwok 1:61b67654ffb7 46 }
yfkwok 1:61b67654ffb7 47
yfkwok 1:61b67654ffb7 48 // simple splash screen displayed on start-up
yfkwok 1:61b67654ffb7 49 void welcome()
yfkwok 1:61b67654ffb7 50 {
yfkwok 1:61b67654ffb7 51 lcd.clear();
yfkwok 1:61b67654ffb7 52 static int title_data[] = {
yfkwok 1:61b67654ffb7 53 0,0,0,0,0,0,0,0,0,0,0,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,
yfkwok 1:61b67654ffb7 54 0,0,0,0,0,0,0,0,0,0,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,
yfkwok 1:61b67654ffb7 55 0,0,0,0,0,0,0,0,0,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,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,
yfkwok 1:61b67654ffb7 56 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,1,0,0,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,
yfkwok 1:61b67654ffb7 57 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,1,1,1,0,0,0,1,0,1,1,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 58 0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,1,0,1,0,1,0,0,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 59 0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,1,0,0,0,1,0,1,1,0,0,1,1,0,0,1,0,0,1,1,0,0,1,0,0,0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 60 0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,1,0,0,1,1,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,0,0,
yfkwok 1:61b67654ffb7 61 0,0,0,1,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,1,0,0,1,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,0,0,0,1,0,0,1,1,0,1,1,1,1,0,0,0,1,1,1,0,0,1,1,0,0,
yfkwok 1:61b67654ffb7 62 0,0,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,1,0,0,0,0,0,0,0,1,1,1,0,0,0,1,0,0,0,1,1,0,0,0,1,0,0,0,
yfkwok 1:61b67654ffb7 63 0,1,1,1,1,0,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,1,1,0,0,0,0,1,1,1,0,0,1,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
yfkwok 1:61b67654ffb7 64 0,0,1,1,1,1,1,1,0,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,
yfkwok 1:61b67654ffb7 65 0,0,0,1,1,1,1,1,0,0,0,0,1,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,0,0,0,
yfkwok 1:61b67654ffb7 66 0,0,0,0,1,1,1,1,0,0,0,0,0,0,1,0,0,0,1,1,1,0,0,1,0,1,0,0,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,0,1,0,1,0,0,1,1,0,0,1,0,0,0,0,0,0,1,1,0,0,0,
yfkwok 1:61b67654ffb7 67 0,0,0,0,0,1,1,1,1,0,0,0,0,1,1,0,0,0,0,1,0,0,0,1,0,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,
yfkwok 1:61b67654ffb7 68 0,0,0,0,0,0,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,0,0,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,1,1,0,0,0,0,1,0,0,1,0,0,0,1,1,0,0,0,0,
yfkwok 1:61b67654ffb7 69 0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,0,0,0,
yfkwok 1:61b67654ffb7 70 0,0,0,0,0,0,0,1,1,1,0,0,0,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,0,0,1,1,1,1,0,1,1,1,0,0,0,1,1,1,1,0,0,0,1,0,0,1,1,0,0,0,0,0,
yfkwok 1:61b67654ffb7 71 0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,0,0,0,0,0,0,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,0,0,0,0,0,
yfkwok 1:61b67654ffb7 72 0,0,0,0,0,0,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1,1,1,1,1,1,0,1,1,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 73 0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,0,1,1,0,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,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 74 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,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,0,0,
yfkwok 1:61b67654ffb7 75 0,0,0,0,0,0,0,0,0,0,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,1,1,0,0,0,0,0,0,0,
yfkwok 1:61b67654ffb7 76 0,0,0,0,0,0,0,0,0,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,
yfkwok 1:61b67654ffb7 77 0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
yfkwok 1:61b67654ffb7 78 0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,0,
yfkwok 1:61b67654ffb7 79 0,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,0,1,0,0,0,1,1,0,0,1,1,0,0,1,1,0,
yfkwok 1:61b67654ffb7 80 0,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,1,1,0,
yfkwok 1:61b67654ffb7 81 0,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,0,1,1,1,0,0,1,0,1,0,0,1,1,1,0,0,0,0,1,1,1,0,
yfkwok 1:61b67654ffb7 82 0,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,1,1,0,0,1,1,1,1,0,
yfkwok 1:61b67654ffb7 83 0,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,1,1,1,0,0,1,1,1,1,1,1,1,0,0,1,1,1,0,0,1,1,0,1,0,0,1,1,1,0,0,
yfkwok 1:61b67654ffb7 84 0,1,0,0,1,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,1,1,1,0,0,1,1,0,1,0,0,1,1,0,0,0,
yfkwok 1:61b67654ffb7 85 0,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,0,1,0,0,1,1,0,0,0,
yfkwok 1:61b67654ffb7 86 0,0,1,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,0,0,1,1,1,1,0,0,0,
yfkwok 1:61b67654ffb7 87 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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 1:61b67654ffb7 88 };
yfkwok 1:61b67654ffb7 89
yfkwok 1:61b67654ffb7 90 lcd.drawSprite(10, 3, 35, 65, title_data);
yfkwok 1:61b67654ffb7 91
yfkwok 1:61b67654ffb7 92 static int start_data[] = {
yfkwok 1:61b67654ffb7 93 1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,0,1,1,1,
yfkwok 1:61b67654ffb7 94 1,0,1,0,1,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,1,0,1,0,1,0,0,1,0,
yfkwok 1:61b67654ffb7 95 1,1,1,0,1,1,1,0,1,1,1,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,1,1,1,0,1,1,1,0,0,1,0,
yfkwok 1:61b67654ffb7 96 1,0,0,0,1,1,0,0,1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,1,0,0,1,0,1,0,1,1,0,0,0,1,0,
yfkwok 1:61b67654ffb7 97 1,0,0,0,1,0,1,0,1,1,1,0,1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,1,0,0,1,0,1,0,1,0,1,0,0,1,0
yfkwok 1:61b67654ffb7 98 };
yfkwok 1:61b67654ffb7 99
yfkwok 1:61b67654ffb7 100 bool flash = true;
yfkwok 1:61b67654ffb7 101 if (flash) {
yfkwok 1:61b67654ffb7 102 lcd.drawSprite(22, 41, 5, 41, start_data);
yfkwok 1:61b67654ffb7 103 flash = !flash;
yfkwok 1:61b67654ffb7 104 }
yfkwok 1:61b67654ffb7 105 else {
yfkwok 1:61b67654ffb7 106 flash = !flash;
yfkwok 1:61b67654ffb7 107 }
yfkwok 1:61b67654ffb7 108
yfkwok 1:61b67654ffb7 109 lcd.refresh();
yfkwok 1:61b67654ffb7 110
yfkwok 1:61b67654ffb7 111 wait(1.0);
yfkwok 1:61b67654ffb7 112 }