Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@2:430dcf420840, 2020-06-05 (annotated)
- Committer:
- jahanzebkhan
- Date:
- Fri Jun 05 22:51:49 2020 +0000
- Revision:
- 2:430dcf420840
- Parent:
- 1:0648f0052827
Final Submission. I have read and agreed with Statement of Academic integrity.
Who changed what in which revision?
User | Revision | Line number | New 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 | |
jahanzebkhan | 1:0648f0052827 | 7 | Name:Jahanzeb Ahmed Khan |
jahanzebkhan | 1:0648f0052827 | 8 | Username:el19jak |
jahanzebkhan | 1:0648f0052827 | 9 | Student ID Number:201375614 |
jahanzebkhan | 1:0648f0052827 | 10 | Date:30 May 2020 |
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" |
jahanzebkhan | 2:430dcf420840 | 17 | #include "body.h" |
jahanzebkhan | 2:430dcf420840 | 18 | #include "food.h" |
jahanzebkhan | 2:430dcf420840 | 19 | #include "functions.h" |
eencae | 0:b7f1f47bb26a | 20 | |
eencae | 0:b7f1f47bb26a | 21 | |
eencae | 0:b7f1f47bb26a | 22 | // objects |
eencae | 0:b7f1f47bb26a | 23 | Gamepad pad; |
eencae | 0:b7f1f47bb26a | 24 | N5110 lcd; |
jahanzebkhan | 2:430dcf420840 | 25 | Food food; |
jahanzebkhan | 2:430dcf420840 | 26 | Body body; |
jahanzebkhan | 2:430dcf420840 | 27 | Functions functions; |
jahanzebkhan | 2:430dcf420840 | 28 | |
jahanzebkhan | 2:430dcf420840 | 29 | void visual(); |
jahanzebkhan | 2:430dcf420840 | 30 | void start(); |
jahanzebkhan | 2:430dcf420840 | 31 | void init(); |
jahanzebkhan | 2:430dcf420840 | 32 | void snake_refresh(); |
eencae | 0:b7f1f47bb26a | 33 | |
eencae | 0:b7f1f47bb26a | 34 | int main() |
eencae | 0:b7f1f47bb26a | 35 | { |
jahanzebkhan | 2:430dcf420840 | 36 | init(); |
jahanzebkhan | 2:430dcf420840 | 37 | start(); |
eencae | 0:b7f1f47bb26a | 38 | |
jahanzebkhan | 2:430dcf420840 | 39 | for (;;) |
jahanzebkhan | 2:430dcf420840 | 40 | { |
jahanzebkhan | 2:430dcf420840 | 41 | snake_refresh(); |
jahanzebkhan | 2:430dcf420840 | 42 | body.game_end(lcd); |
jahanzebkhan | 2:430dcf420840 | 43 | body.food_eaten(lcd, pad, food); |
jahanzebkhan | 2:430dcf420840 | 44 | food.food_location(lcd); |
jahanzebkhan | 2:430dcf420840 | 45 | body.visual(lcd, pad, food); |
jahanzebkhan | 2:430dcf420840 | 46 | functions.output_score(lcd, pad, body, food); |
jahanzebkhan | 2:430dcf420840 | 47 | |
jahanzebkhan | 2:430dcf420840 | 48 | wait(0.02); |
jahanzebkhan | 2:430dcf420840 | 49 | |
jahanzebkhan | 2:430dcf420840 | 50 | } |
jahanzebkhan | 2:430dcf420840 | 51 | } |
jahanzebkhan | 2:430dcf420840 | 52 | |
jahanzebkhan | 2:430dcf420840 | 53 | void init() |
jahanzebkhan | 2:430dcf420840 | 54 | { |
jahanzebkhan | 2:430dcf420840 | 55 | lcd.init(); |
jahanzebkhan | 2:430dcf420840 | 56 | pad.init(); |
jahanzebkhan | 2:430dcf420840 | 57 | body.init(); |
jahanzebkhan | 2:430dcf420840 | 58 | food.init(); |
jahanzebkhan | 2:430dcf420840 | 59 | |
eencae | 0:b7f1f47bb26a | 60 | } |
eencae | 0:b7f1f47bb26a | 61 | |
jahanzebkhan | 2:430dcf420840 | 62 | void snake_refresh() |
jahanzebkhan | 2:430dcf420840 | 63 | { |
jahanzebkhan | 2:430dcf420840 | 64 | body.user_input(pad); |
jahanzebkhan | 2:430dcf420840 | 65 | body.trail_delete(lcd); |
jahanzebkhan | 2:430dcf420840 | 66 | body.movement(); |
jahanzebkhan | 2:430dcf420840 | 67 | } |
jahanzebkhan | 2:430dcf420840 | 68 | |
jahanzebkhan | 2:430dcf420840 | 69 | void start() |
jahanzebkhan | 2:430dcf420840 | 70 | { |
jahanzebkhan | 2:430dcf420840 | 71 | while (pad.A_held() == 0) |
jahanzebkhan | 2:430dcf420840 | 72 | { |
jahanzebkhan | 2:430dcf420840 | 73 | lcd.setContrast(0.5); |
jahanzebkhan | 2:430dcf420840 | 74 | lcd.drawCircle(42,24,22,FILL_TRANSPARENT); |
jahanzebkhan | 2:430dcf420840 | 75 | lcd.printString("Welcome to Snake",25,2); |
jahanzebkhan | 2:430dcf420840 | 76 | lcd.printString("Hold A to start",26,4); |
jahanzebkhan | 2:430dcf420840 | 77 | pad.tone(1500.0,1); |
jahanzebkhan | 2:430dcf420840 | 78 | wait(0.5); |
jahanzebkhan | 2:430dcf420840 | 79 | pad.tone(750.0,1); |
jahanzebkhan | 2:430dcf420840 | 80 | wait(0.5);/**Startup tone*/ |
jahanzebkhan | 2:430dcf420840 | 81 | pad.tone(1500.0,1); |
jahanzebkhan | 2:430dcf420840 | 82 | wait(0.5); |
jahanzebkhan | 2:430dcf420840 | 83 | pad.tone(750.0,1); |
jahanzebkhan | 2:430dcf420840 | 84 | |
jahanzebkhan | 2:430dcf420840 | 85 | lcd.refresh(); |
jahanzebkhan | 2:430dcf420840 | 86 | } |
jahanzebkhan | 2:430dcf420840 | 87 | } |
jahanzebkhan | 2:430dcf420840 | 88 |