ZIYI CHEN ml17z4c 201214999
Dependencies: mbed
main.cpp@14:60c31d25d895, 2019-05-09 (annotated)
- 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?
User | Revision | Line number | New 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 |