ZIYI CHEN ml17z4c 201214999

Dependencies:   mbed

Committer:
ziyi11
Date:
Thu May 09 14:48:43 2019 +0000
Revision:
14:60c31d25d895
Parent:
13:08bdb4cffacd
can not add doc;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
ziyi11 13:08bdb4cffacd 1 /*
ziyi11 13:08bdb4cffacd 2 ELEC2645 Embedded Systems Project
ziyi11 13:08bdb4cffacd 3 School of Electronic & Electrical Engineering
ziyi11 13:08bdb4cffacd 4 University of Leeds
ziyi11 13:08bdb4cffacd 5 Name:ZIYI CHEN
ziyi11 13:08bdb4cffacd 6 Username: ml17z4c
ziyi11 13:08bdb4cffacd 7 Student ID Number:201214999
ziyi11 13:08bdb4cffacd 8 Date:may 2019
ziyi11 13:08bdb4cffacd 9 */
ziyi11 13:08bdb4cffacd 10
ziyi11 13:08bdb4cffacd 11
ziyi11 13:08bdb4cffacd 12 #include "mbed.h"
ziyi11 13:08bdb4cffacd 13 #include "Gamepad.h"
ziyi11 13:08bdb4cffacd 14 #include "N5110.h"
ziyi11 13:08bdb4cffacd 15 #include "Eng.h"
ziyi11 13:08bdb4cffacd 16
ziyi11 13:08bdb4cffacd 17
ziyi11 13:08bdb4cffacd 18 //defination
ziyi11 13:08bdb4cffacd 19 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
ziyi11 13:08bdb4cffacd 20 Eng gameset;
ziyi11 13:08bdb4cffacd 21 Gamepad gamepad;
ziyi11 13:08bdb4cffacd 22 Direction d;
ziyi11 13:08bdb4cffacd 23
ziyi11 13:08bdb4cffacd 24 void init();
ziyi11 13:08bdb4cffacd 25
ziyi11 13:08bdb4cffacd 26 void renderSnake();
ziyi11 13:08bdb4cffacd 27
ziyi11 13:08bdb4cffacd 28 void welcome();
ziyi11 13:08bdb4cffacd 29
ziyi11 13:08bdb4cffacd 30 void restart();
ziyi11 13:08bdb4cffacd 31
ziyi11 13:08bdb4cffacd 32
ziyi11 13:08bdb4cffacd 33
ziyi11 13:08bdb4cffacd 34
ziyi11 13:08bdb4cffacd 35 int main()
ziyi11 13:08bdb4cffacd 36 {
ziyi11 13:08bdb4cffacd 37
ziyi11 13:08bdb4cffacd 38 init();
ziyi11 13:08bdb4cffacd 39 welcome();
ziyi11 13:08bdb4cffacd 40
ziyi11 13:08bdb4cffacd 41 bool started = false;
ziyi11 13:08bdb4cffacd 42 while (1) {
ziyi11 13:08bdb4cffacd 43
ziyi11 13:08bdb4cffacd 44 if(gamepad.check_event(Gamepad::START_PRESSED) == true) {
ziyi11 13:08bdb4cffacd 45 started = true;
ziyi11 13:08bdb4cffacd 46 }
ziyi11 13:08bdb4cffacd 47 if(started) {
ziyi11 13:08bdb4cffacd 48 gameset.userinput(gamepad);
ziyi11 13:08bdb4cffacd 49 gameset.update(gamepad);
ziyi11 13:08bdb4cffacd 50 renderSnake();
ziyi11 13:08bdb4cffacd 51 if (gameset.getGameOver()) {
ziyi11 13:08bdb4cffacd 52 gameset.score(lcd);
ziyi11 13:08bdb4cffacd 53 restart();
ziyi11 13:08bdb4cffacd 54 }
ziyi11 13:08bdb4cffacd 55 }
ziyi11 13:08bdb4cffacd 56
ziyi11 13:08bdb4cffacd 57 }
ziyi11 13:08bdb4cffacd 58 }
ziyi11 13:08bdb4cffacd 59
ziyi11 13:08bdb4cffacd 60 void init()
ziyi11 13:08bdb4cffacd 61 {
ziyi11 13:08bdb4cffacd 62
ziyi11 13:08bdb4cffacd 63 gameset.init();
ziyi11 13:08bdb4cffacd 64 lcd.init();
ziyi11 13:08bdb4cffacd 65 lcd.setContrast(0.5);
ziyi11 13:08bdb4cffacd 66 gamepad.init();
ziyi11 13:08bdb4cffacd 67
ziyi11 13:08bdb4cffacd 68
ziyi11 13:08bdb4cffacd 69 }
ziyi11 13:08bdb4cffacd 70 void welcome()
ziyi11 13:08bdb4cffacd 71 {
ziyi11 13:08bdb4cffacd 72
ziyi11 13:08bdb4cffacd 73
ziyi11 13:08bdb4cffacd 74 lcd.printString(" snake ",0,1);
ziyi11 13:08bdb4cffacd 75 lcd.printString(" Press Start ",0,4);
ziyi11 13:08bdb4cffacd 76 lcd.refresh();
ziyi11 13:08bdb4cffacd 77
ziyi11 13:08bdb4cffacd 78 while ( gamepad.check_event(Gamepad::START_PRESSED) == false) {
ziyi11 13:08bdb4cffacd 79 gamepad.leds_on();
ziyi11 13:08bdb4cffacd 80 wait(0.1);
ziyi11 13:08bdb4cffacd 81 gamepad.leds_off();
ziyi11 13:08bdb4cffacd 82 wait(0.1);
ziyi11 13:08bdb4cffacd 83 }
ziyi11 13:08bdb4cffacd 84 wait(0.1);
ziyi11 13:08bdb4cffacd 85
ziyi11 13:08bdb4cffacd 86 }
ziyi11 13:08bdb4cffacd 87
ziyi11 13:08bdb4cffacd 88
ziyi11 13:08bdb4cffacd 89
ziyi11 13:08bdb4cffacd 90 void restart()
ziyi11 13:08bdb4cffacd 91 {
ziyi11 13:08bdb4cffacd 92
ziyi11 13:08bdb4cffacd 93 gameset.init();
ziyi11 13:08bdb4cffacd 94 }
ziyi11 13:08bdb4cffacd 95
ziyi11 13:08bdb4cffacd 96 void renderSnake()
ziyi11 13:08bdb4cffacd 97 {
ziyi11 13:08bdb4cffacd 98 lcd.clear();
ziyi11 13:08bdb4cffacd 99 gameset.draw(lcd);
ziyi11 13:08bdb4cffacd 100 lcd.refresh();
ziyi11 13:08bdb4cffacd 101 wait(0.2);
ziyi11 13:08bdb4cffacd 102
ziyi11 13:08bdb4cffacd 103 }
ziyi11 13:08bdb4cffacd 104
ziyi11 13:08bdb4cffacd 105
ziyi11 13:08bdb4cffacd 106