ZIYI CHEN ml17z4c 201214999

Dependencies:   mbed

Committer:
ziyi11
Date:
Wed May 08 20:48:33 2019 +0000
Revision:
9:a8b2086a46e5
Parent:
8:52e0506e98b8
Child:
10:da19fe1a137c
try1

Who changed what in which revision?

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