Arturs Kozlovskis / Mbed 2 deprecated ELEC2645_Project_el18ak

Dependencies:   mbed

Committer:
thestudent
Date:
Thu Apr 02 11:51:44 2020 +0000
Revision:
7:82079de8bcd6
Parent:
6:33bdb54c2c88
Child:
8:09eb8fe2bb20
Added a new function to the balls. They can now go in linear or parabolic way. Optimized screen speed. Next is movement randomizer function

Who changed what in which revision?

UserRevisionLine numberNew contents of line
thestudent 6:33bdb54c2c88 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
thestudent 1:664a272ab028 7 Name:Arturs Kolovskis
thestudent 1:664a272ab028 8 Username:el18ak
thestudent 1:664a272ab028 9 Student ID Number: 201253737
thestudent 1:664a272ab028 10 Date:08.03.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"
thestudent 2:ee6a6bcbce87 17 #include "Objects.h"
thestudent 6:33bdb54c2c88 18 #include "Functions.h"
eencae 0:b7f1f47bb26a 19
eencae 0:b7f1f47bb26a 20
eencae 0:b7f1f47bb26a 21 // objects
eencae 0:b7f1f47bb26a 22 Gamepad pad;
eencae 0:b7f1f47bb26a 23 N5110 lcd;
thestudent 2:ee6a6bcbce87 24 Objects objects;
thestudent 6:33bdb54c2c88 25 Functions functions;
thestudent 2:ee6a6bcbce87 26
thestudent 2:ee6a6bcbce87 27 //functions
thestudent 2:ee6a6bcbce87 28 void initialise();
eencae 0:b7f1f47bb26a 29
eencae 0:b7f1f47bb26a 30 int main()
eencae 0:b7f1f47bb26a 31 {
thestudent 2:ee6a6bcbce87 32 initialise();
thestudent 7:82079de8bcd6 33
thestudent 6:33bdb54c2c88 34 while(1) {
thestudent 6:33bdb54c2c88 35 lcd.clear();
thestudent 6:33bdb54c2c88 36 objects.draw_base(lcd);
thestudent 7:82079de8bcd6 37 objects.cannon_position(pad);
thestudent 6:33bdb54c2c88 38 objects.draw_cannon(lcd);
thestudent 6:33bdb54c2c88 39 objects.draw_shots(lcd);
thestudent 6:33bdb54c2c88 40 lcd.refresh();
thestudent 7:82079de8bcd6 41 wait(0.005);
thestudent 7:82079de8bcd6 42 functions.ball_position_parabolic(lcd, objects,0);
thestudent 7:82079de8bcd6 43 functions.ball_position_parabolic(lcd, objects,1);
thestudent 7:82079de8bcd6 44 functions.ball_position_linear(lcd, objects,1);
thestudent 7:82079de8bcd6 45 objects.cannon_position(pad);
thestudent 7:82079de8bcd6 46 objects.draw_cannon(lcd);
thestudent 7:82079de8bcd6 47 lcd.refresh();
thestudent 7:82079de8bcd6 48 wait(0.035);
thestudent 6:33bdb54c2c88 49
thestudent 2:ee6a6bcbce87 50 }
thestudent 2:ee6a6bcbce87 51 }
thestudent 2:ee6a6bcbce87 52
thestudent 6:33bdb54c2c88 53 void initialise()
thestudent 6:33bdb54c2c88 54 {
thestudent 2:ee6a6bcbce87 55 pad.init();//initialises the gamepad
thestudent 2:ee6a6bcbce87 56 lcd.init();//initialises the N5100 screen
thestudent 6:33bdb54c2c88 57
eencae 0:b7f1f47bb26a 58 }
eencae 0:b7f1f47bb26a 59