Jahanzeb Khan / Mbed 2 deprecated ELEC2645_Project_el19jak

Dependencies:   mbed

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?

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
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