Ikenna Adrian Ozoemena 201157039

Dependencies:   mbed

Committer:
ikenna1
Date:
Wed Apr 10 18:50:17 2019 +0000
Revision:
14:88ca5b1a111a
Parent:
13:e114d362186d
Child:
18:2cc6898de6b2
* made changes to imperions' weapons by adding delays;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ikenna1 0:0d446aab48a6 1 /*
ikenna1 0:0d446aab48a6 2 ELEC2645 Embedded Systems Project
ikenna1 0:0d446aab48a6 3 School of Electronic & Electrical Engineering
ikenna1 0:0d446aab48a6 4 University of Leeds
ikenna1 0:0d446aab48a6 5 Name: Ikenna Adrian Ozoemena
ikenna1 0:0d446aab48a6 6 Username: el17aio
ikenna1 0:0d446aab48a6 7 Student ID Number: 201157039
ikenna1 0:0d446aab48a6 8 Date: 20/02/2019
ikenna1 1:9835d6304284 9 */
ikenna1 1:9835d6304284 10
ikenna1 3:f9cd1a38d5c6 11 //______________pre-processor directives________________________________________
ikenna1 2:66a4e5d7a7cd 12 #include "mbed.h"
ikenna1 2:66a4e5d7a7cd 13 #include "N5110.h"
ikenna1 8:87a845b8575e 14 #include "RosenEngine.h"
ikenna1 9:241a1a7d8527 15 #include "Menu.h"
ikenna1 3:f9cd1a38d5c6 16
ikenna1 3:f9cd1a38d5c6 17 //_______________objects________________________________________________________
ikenna1 3:f9cd1a38d5c6 18 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
ikenna1 3:f9cd1a38d5c6 19 Gamepad pad;
ikenna1 9:241a1a7d8527 20 RosenEngine rosen;
ikenna1 9:241a1a7d8527 21 Menu menu;
ikenna1 3:f9cd1a38d5c6 22
ikenna1 3:f9cd1a38d5c6 23 //_______________prototypes_____________________________________________________
ikenna1 3:f9cd1a38d5c6 24 void init();
ikenna1 3:f9cd1a38d5c6 25 void welcome();
ikenna1 9:241a1a7d8527 26 void render();
ikenna1 12:47578eb9ea73 27 void ship_select();
ikenna1 3:f9cd1a38d5c6 28
ikenna1 3:f9cd1a38d5c6 29 //_______________functions______________________________________________________
ikenna1 3:f9cd1a38d5c6 30 int main()
ikenna1 3:f9cd1a38d5c6 31 {
ikenna1 10:c33d7593a275 32 int fps = 12;
ikenna1 10:c33d7593a275 33 init();
ikenna1 9:241a1a7d8527 34 printf("Init function completed...\n");
ikenna1 3:f9cd1a38d5c6 35
ikenna1 10:c33d7593a275 36 while(1) {
ikenna1 10:c33d7593a275 37 welcome();
ikenna1 13:e114d362186d 38 //printf("ycursor = %d",rosen.get_ycursor());
ikenna1 10:c33d7593a275 39 // make it so it works with get_cursor = 16;
ikenna1 10:c33d7593a275 40
ikenna1 13:e114d362186d 41 if(rosen.get_ycursor() == 16) {
ikenna1 10:c33d7593a275 42 while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
ikenna1 10:c33d7593a275 43 // printf("play...\n");
ikenna1 10:c33d7593a275 44 rosen.read_input(pad);
ikenna1 10:c33d7593a275 45 rosen.update(pad);
ikenna1 10:c33d7593a275 46 render();
ikenna1 10:c33d7593a275 47 wait(1.0f/fps);
ikenna1 10:c33d7593a275 48 }
ikenna1 10:c33d7593a275 49 }
ikenna1 13:e114d362186d 50 if(rosen.get_ycursor() == 24) {
ikenna1 10:c33d7593a275 51 while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
ikenna1 12:47578eb9ea73 52 rosen.read_input(pad);
ikenna1 12:47578eb9ea73 53 rosen.update(pad);
ikenna1 12:47578eb9ea73 54 ship_select();
ikenna1 12:47578eb9ea73 55 wait(1.0f/fps);
ikenna1 13:e114d362186d 56 printf("ship = %d\n",rosen.get_xcursor());
ikenna1 10:c33d7593a275 57 // printf("menu...\n");
ikenna1 10:c33d7593a275 58 }
ikenna1 9:241a1a7d8527 59 }
ikenna1 3:f9cd1a38d5c6 60 }
ikenna1 3:f9cd1a38d5c6 61 }
ikenna1 1:9835d6304284 62
ikenna1 3:f9cd1a38d5c6 63 void init()
ikenna1 3:f9cd1a38d5c6 64 {
ikenna1 3:f9cd1a38d5c6 65 // need to initialise LCD and Gamepad
ikenna1 3:f9cd1a38d5c6 66 lcd.init();
ikenna1 3:f9cd1a38d5c6 67 pad.init();
ikenna1 9:241a1a7d8527 68 rosen.init(9,6,3,42,41);
ikenna1 3:f9cd1a38d5c6 69
ikenna1 3:f9cd1a38d5c6 70 }
ikenna1 9:241a1a7d8527 71 void render()
ikenna1 9:241a1a7d8527 72 {
ikenna1 9:241a1a7d8527 73 // clear screen, re-draw and refresh
ikenna1 9:241a1a7d8527 74 lcd.clear();
ikenna1 14:88ca5b1a111a 75 rosen.draw(lcd, pad);
ikenna1 9:241a1a7d8527 76 rosen.get_pos();
ikenna1 9:241a1a7d8527 77 lcd.refresh();
ikenna1 9:241a1a7d8527 78 }
ikenna1 12:47578eb9ea73 79 void ship_select()
ikenna1 12:47578eb9ea73 80 {
ikenna1 12:47578eb9ea73 81 lcd.clear();
ikenna1 12:47578eb9ea73 82 rosen.ship_select(lcd);
ikenna1 12:47578eb9ea73 83 rosen.get_pos();
ikenna1 12:47578eb9ea73 84 lcd.refresh();
ikenna1 12:47578eb9ea73 85 }
ikenna1 3:f9cd1a38d5c6 86
ikenna1 3:f9cd1a38d5c6 87 // simple splash screen displayed on start-up
ikenna1 3:f9cd1a38d5c6 88 void welcome()
ikenna1 3:f9cd1a38d5c6 89 {
ikenna1 9:241a1a7d8527 90 while( pad.check_event(Gamepad::A_PRESSED) == false) {
ikenna1 9:241a1a7d8527 91 rosen.title(lcd);
ikenna1 9:241a1a7d8527 92 rosen.read_input(pad);
ikenna1 9:241a1a7d8527 93 rosen.update(pad);
ikenna1 9:241a1a7d8527 94 lcd.refresh();
ikenna1 9:241a1a7d8527 95 }
ikenna1 9:241a1a7d8527 96 printf("Welcome Function completed...\n");
ikenna1 3:f9cd1a38d5c6 97 }