Ikenna Adrian Ozoemena 201157039

Dependencies:   mbed

Committer:
ikenna1
Date:
Wed May 08 16:46:21 2019 +0000
Revision:
44:a6a361bea806
Parent:
43:500b8cff3715
Child:
52:29772e31a620
Add Enum SHIP to make selecting ships easier. started documentation

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ikenna1 43:500b8cff3715 1 #include "main.h"
ikenna1 43:500b8cff3715 2
ikenna1 0:0d446aab48a6 3 /*
ikenna1 43:500b8cff3715 4
ikenna1 0:0d446aab48a6 5 ELEC2645 Embedded Systems Project
ikenna1 0:0d446aab48a6 6 School of Electronic & Electrical Engineering
ikenna1 0:0d446aab48a6 7 University of Leeds
ikenna1 0:0d446aab48a6 8 Name: Ikenna Adrian Ozoemena
ikenna1 0:0d446aab48a6 9 Username: el17aio
ikenna1 0:0d446aab48a6 10 Student ID Number: 201157039
ikenna1 0:0d446aab48a6 11 Date: 20/02/2019
ikenna1 1:9835d6304284 12 */
ikenna1 1:9835d6304284 13
ikenna1 3:f9cd1a38d5c6 14 //_______________functions______________________________________________________
ikenna1 3:f9cd1a38d5c6 15 int main()
ikenna1 3:f9cd1a38d5c6 16 {
ikenna1 10:c33d7593a275 17 init();
ikenna1 9:241a1a7d8527 18 printf("Init function completed...\n");
ikenna1 3:f9cd1a38d5c6 19
ikenna1 10:c33d7593a275 20 while(1) {
ikenna1 10:c33d7593a275 21 welcome();
ikenna1 35:3341f2bd0408 22 printf("welcome()\n");
ikenna1 27:f99249e727fd 23 rosen.reset();
ikenna1 35:3341f2bd0408 24 printf("reset()\n");
ikenna1 13:e114d362186d 25 //printf("ycursor = %d",rosen.get_ycursor());
ikenna1 10:c33d7593a275 26
ikenna1 13:e114d362186d 27 if(rosen.get_ycursor() == 16) {
ikenna1 36:c25417f0d150 28 // printf("get_ycursor() == 16()\n");
ikenna1 38:4571537238ed 29 while ( pad.check_event(Gamepad::BACK_PRESSED) == false && rosen.dead() == false) {
ikenna1 10:c33d7593a275 30 // printf("play...\n");
ikenna1 10:c33d7593a275 31 rosen.read_input(pad);
ikenna1 35:3341f2bd0408 32 // printf("read_input\n");
ikenna1 10:c33d7593a275 33 rosen.update(pad);
ikenna1 35:3341f2bd0408 34 // printf("update\n");
ikenna1 10:c33d7593a275 35 render();
ikenna1 35:3341f2bd0408 36 // printf("render()\n");
ikenna1 10:c33d7593a275 37 wait(1.0f/fps);
ikenna1 38:4571537238ed 38 rosen.timer(fps);
ikenna1 10:c33d7593a275 39 }
ikenna1 10:c33d7593a275 40 }
ikenna1 13:e114d362186d 41 if(rosen.get_ycursor() == 24) {
ikenna1 10:c33d7593a275 42 while ( pad.check_event(Gamepad::BACK_PRESSED) == false) {
ikenna1 12:47578eb9ea73 43 rosen.read_input(pad);
ikenna1 12:47578eb9ea73 44 rosen.update(pad);
ikenna1 12:47578eb9ea73 45 ship_select();
ikenna1 12:47578eb9ea73 46 wait(1.0f/fps);
ikenna1 10:c33d7593a275 47 // printf("menu...\n");
ikenna1 10:c33d7593a275 48 }
ikenna1 9:241a1a7d8527 49 }
ikenna1 3:f9cd1a38d5c6 50 }
ikenna1 3:f9cd1a38d5c6 51 }
ikenna1 1:9835d6304284 52
ikenna1 3:f9cd1a38d5c6 53 void init()
ikenna1 3:f9cd1a38d5c6 54 {
ikenna1 3:f9cd1a38d5c6 55 // need to initialise LCD and Gamepad
ikenna1 3:f9cd1a38d5c6 56 lcd.init();
ikenna1 3:f9cd1a38d5c6 57 pad.init();
ikenna1 9:241a1a7d8527 58 rosen.init(9,6,3,42,41);
ikenna1 35:3341f2bd0408 59 printf("Initializing...\n");
ikenna1 3:f9cd1a38d5c6 60
ikenna1 3:f9cd1a38d5c6 61 }
ikenna1 9:241a1a7d8527 62 void render()
ikenna1 9:241a1a7d8527 63 {
ikenna1 9:241a1a7d8527 64 // clear screen, re-draw and refresh
ikenna1 9:241a1a7d8527 65 lcd.clear();
ikenna1 14:88ca5b1a111a 66 rosen.draw(lcd, pad);
ikenna1 9:241a1a7d8527 67 rosen.get_pos();
ikenna1 9:241a1a7d8527 68 lcd.refresh();
ikenna1 35:3341f2bd0408 69 // printf("Rendering...\n");
ikenna1 9:241a1a7d8527 70 }
ikenna1 12:47578eb9ea73 71 void ship_select()
ikenna1 12:47578eb9ea73 72 {
ikenna1 12:47578eb9ea73 73 lcd.clear();
ikenna1 12:47578eb9ea73 74 rosen.ship_select(lcd);
ikenna1 12:47578eb9ea73 75 rosen.get_pos();
ikenna1 12:47578eb9ea73 76 lcd.refresh();
ikenna1 35:3341f2bd0408 77 printf("Ship Select...\n");
ikenna1 12:47578eb9ea73 78 }
ikenna1 3:f9cd1a38d5c6 79
ikenna1 3:f9cd1a38d5c6 80 // simple splash screen displayed on start-up
ikenna1 3:f9cd1a38d5c6 81 void welcome()
ikenna1 3:f9cd1a38d5c6 82 {
ikenna1 18:2cc6898de6b2 83 while( pad.check_event(Gamepad::START_PRESSED) == false) {
ikenna1 30:711d722f3cef 84 lcd.clear();
ikenna1 9:241a1a7d8527 85 rosen.title(lcd);
ikenna1 9:241a1a7d8527 86 rosen.read_input(pad);
ikenna1 9:241a1a7d8527 87 lcd.refresh();
ikenna1 9:241a1a7d8527 88 }
ikenna1 9:241a1a7d8527 89 printf("Welcome Function completed...\n");
ikenna1 3:f9cd1a38d5c6 90 }