201377806 ZiWei Liu

Dependencies:   mbed

Committer:
alexliu0812
Date:
Fri May 15 09:04:00 2020 +0000
Revision:
2:d621a4cbe0c2
Parent:
1:11854f815cc8
Child:
3:e53e289cd4ba
move;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
eencae 0:b7f1f47bb26a 1 /*
eencae 0:b7f1f47bb26a 2 ELEC2645 Embedded Systems Project
eencae 0:b7f1f47bb26a 3 School of Electronic & Electrical Engineering
eencae 0:b7f1f47bb26a 4 University of Leeds
eencae 0:b7f1f47bb26a 5 2019/20
eencae 0:b7f1f47bb26a 6
alexliu0812 1:11854f815cc8 7 Name: ZiWei Liu
alexliu0812 1:11854f815cc8 8 Username: el19z2l
alexliu0812 1:11854f815cc8 9 Student ID Number: 201377806
alexliu0812 1:11854f815cc8 10 Date: 2020.5.20
eencae 0:b7f1f47bb26a 11 */
eencae 0:b7f1f47bb26a 12
eencae 0:b7f1f47bb26a 13 // includes
eencae 0:b7f1f47bb26a 14 #include "mbed.h"
eencae 0:b7f1f47bb26a 15 #include "Gamepad.h"
eencae 0:b7f1f47bb26a 16 #include "N5110.h"
alexliu0812 2:d621a4cbe0c2 17 #include "DodgeEngine.h"
alexliu0812 2:d621a4cbe0c2 18 #include "Character.h"
alexliu0812 2:d621a4cbe0c2 19 #include "Block.h"
alexliu0812 2:d621a4cbe0c2 20 #include "ctime"
eencae 0:b7f1f47bb26a 21
alexliu0812 1:11854f815cc8 22 //objects
eencae 0:b7f1f47bb26a 23 Gamepad pad;
eencae 0:b7f1f47bb26a 24 N5110 lcd;
alexliu0812 2:d621a4cbe0c2 25 DodgeEngine dodge;
alexliu0812 2:d621a4cbe0c2 26 Character character;
alexliu0812 2:d621a4cbe0c2 27 Block block;
eencae 0:b7f1f47bb26a 28
alexliu0812 1:11854f815cc8 29 //prototypes
alexliu0812 1:11854f815cc8 30 void init();
alexliu0812 1:11854f815cc8 31 void welcome();
alexliu0812 2:d621a4cbe0c2 32 void refreshing();
alexliu0812 1:11854f815cc8 33
eencae 0:b7f1f47bb26a 34 int main()
eencae 0:b7f1f47bb26a 35 {
alexliu0812 1:11854f815cc8 36 int fps=6;
eencae 0:b7f1f47bb26a 37
alexliu0812 1:11854f815cc8 38 //initialize
alexliu0812 1:11854f815cc8 39 init();
alexliu0812 1:11854f815cc8 40 welcome();
alexliu0812 2:d621a4cbe0c2 41
alexliu0812 2:d621a4cbe0c2 42
alexliu0812 2:d621a4cbe0c2 43 pad.leds_off();
alexliu0812 2:d621a4cbe0c2 44 refreshing();
alexliu0812 2:d621a4cbe0c2 45 wait(1.0f/fps);
alexliu0812 2:d621a4cbe0c2 46
alexliu0812 2:d621a4cbe0c2 47 block.blockinit();
alexliu0812 2:d621a4cbe0c2 48 while (1) {
alexliu0812 2:d621a4cbe0c2 49 dodge.dodgeupdate();
alexliu0812 2:d621a4cbe0c2 50 refreshing();
alexliu0812 2:d621a4cbe0c2 51 wait(1.0f/fps);
alexliu0812 2:d621a4cbe0c2 52 }
alexliu0812 1:11854f815cc8 53 }
alexliu0812 1:11854f815cc8 54
alexliu0812 1:11854f815cc8 55
alexliu0812 1:11854f815cc8 56 void init(){
alexliu0812 1:11854f815cc8 57
alexliu0812 1:11854f815cc8 58 lcd.init();
alexliu0812 1:11854f815cc8 59 pad.init();
alexliu0812 1:11854f815cc8 60
eencae 0:b7f1f47bb26a 61 }
eencae 0:b7f1f47bb26a 62
alexliu0812 1:11854f815cc8 63 void welcome(){
alexliu0812 1:11854f815cc8 64 //the start menu
alexliu0812 1:11854f815cc8 65 while(pad.A_pressed()==false){
alexliu0812 1:11854f815cc8 66 lcd.printString(" Dodging!! " ,0,2);
alexliu0812 1:11854f815cc8 67 lcd.printString(" Press A ",0,4);
alexliu0812 1:11854f815cc8 68 lcd.refresh();
alexliu0812 1:11854f815cc8 69 }
alexliu0812 1:11854f815cc8 70
alexliu0812 1:11854f815cc8 71 //the instruction menu
alexliu0812 1:11854f815cc8 72 lcd.clear();
alexliu0812 1:11854f815cc8 73 lcd.printString(" Instructions ",0,0);
alexliu0812 1:11854f815cc8 74 lcd.printString("Dodge the ball ",0,1);
alexliu0812 1:11854f815cc8 75 lcd.printString(" 3 chance! ",0,2);
alexliu0812 1:11854f815cc8 76 lcd.printString(" Good luck! ",0,4);
alexliu0812 1:11854f815cc8 77 lcd.printString("Press to start",0,5);
alexliu0812 1:11854f815cc8 78 lcd.refresh();
alexliu0812 1:11854f815cc8 79
alexliu0812 1:11854f815cc8 80 while(pad.start_pressed()==false){
alexliu0812 1:11854f815cc8 81 pad.led(1,1);
alexliu0812 1:11854f815cc8 82 pad.led(3,1);
alexliu0812 1:11854f815cc8 83 pad.led(4,1);
alexliu0812 1:11854f815cc8 84 pad.led(6,1);
alexliu0812 1:11854f815cc8 85 }
alexliu0812 1:11854f815cc8 86 }
alexliu0812 2:d621a4cbe0c2 87
alexliu0812 2:d621a4cbe0c2 88 void refreshing(){
alexliu0812 2:d621a4cbe0c2 89
alexliu0812 2:d621a4cbe0c2 90 lcd.clear();
alexliu0812 2:d621a4cbe0c2 91 dodge.charactermove(lcd,pad);
alexliu0812 2:d621a4cbe0c2 92 dodge.blockmove(lcd);
alexliu0812 2:d621a4cbe0c2 93 lcd.refresh();
alexliu0812 2:d621a4cbe0c2 94
alexliu0812 2:d621a4cbe0c2 95 }