Arturs Kozlovskis / Mbed 2 deprecated ELEC2645_Project_el18ak

Dependencies:   mbed

Committer:
thestudent
Date:
Sat Apr 18 11:50:00 2020 +0000
Revision:
10:f5b920a6a71a
Parent:
9:4b11ee1155ad
Child:
11:4722bf70b2be
Got the cannon collision working. Finished the big design;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
thestudent 6:33bdb54c2c88 1 #ifndef FUNCTIONS_H
thestudent 6:33bdb54c2c88 2 #define FUNCTIONS_H
thestudent 6:33bdb54c2c88 3
thestudent 6:33bdb54c2c88 4 //includes
thestudent 6:33bdb54c2c88 5 #include "mbed.h"
thestudent 6:33bdb54c2c88 6 #include "N5110.h"
thestudent 6:33bdb54c2c88 7 #include "Gamepad.h"
thestudent 6:33bdb54c2c88 8 #include "Objects.h"
thestudent 6:33bdb54c2c88 9
thestudent 7:82079de8bcd6 10 struct Ball{
thestudent 9:4b11ee1155ad 11 int ball_x_pos[10]; // moves the ball across the screen
thestudent 8:09eb8fe2bb20 12 float movement_y_counter[10]; //sets the gravity with which the ball will fall
thestudent 7:82079de8bcd6 13 int time[10];//the time as in the y postion of the ball which will governed by equation y = _y_initial + _movement_y_counter * _time^2
thestudent 7:82079de8bcd6 14 int ball_y_pos[10];//balls_y_position
thestudent 7:82079de8bcd6 15 int time_incrementer[10];//increments time value
thestudent 7:82079de8bcd6 16 int ball_x_incrementer[10];//increments movement_x_pos value
thestudent 7:82079de8bcd6 17 int delta_r[10]; // defines the ball size
thestudent 7:82079de8bcd6 18 int initial_starting_pos[10];
thestudent 8:09eb8fe2bb20 19 int time_limit[10];// restrict time to 6 or 5 depending on the balls size
thestudent 8:09eb8fe2bb20 20
thestudent 7:82079de8bcd6 21 };
thestudent 7:82079de8bcd6 22 struct Ball_linear{
thestudent 9:4b11ee1155ad 23 int ball_x_pos[10]; // moves the ball across the screen
thestudent 7:82079de8bcd6 24 int movement_y_counter[10]; //sets the gravity with which the ball will fall
thestudent 7:82079de8bcd6 25 int time[10];//the time as in the y postion of the ball which will governed by equation y = _y_initial + _movement_y_counter * _time^2
thestudent 7:82079de8bcd6 26 int ball_y_pos[10];//balls_y_position
thestudent 7:82079de8bcd6 27 int time_incrementer[10];//increments time value
thestudent 7:82079de8bcd6 28 int ball_x_incrementer[10];//increments movement_x_pos value
thestudent 7:82079de8bcd6 29 int delta_r[10]; // defines the ball size
thestudent 7:82079de8bcd6 30 int initial_starting_pos[10];
thestudent 8:09eb8fe2bb20 31 int time_limit[10];// restrict time to 6 or 5 depending on the balls size
thestudent 7:82079de8bcd6 32 };
thestudent 7:82079de8bcd6 33
thestudent 9:4b11ee1155ad 34 class Functions
thestudent 6:33bdb54c2c88 35 {
thestudent 6:33bdb54c2c88 36 public:
thestudent 6:33bdb54c2c88 37 Functions();
thestudent 7:82079de8bcd6 38 void ball_position_parabolic( N5110 &lcd, Objects &objects,int c);//governs the balls movement in a parabolic way
thestudent 7:82079de8bcd6 39 void ball_position_linear (N5110 &lcd, Objects &objects,int c);//governs the balls movement in a linear way
thestudent 9:4b11ee1155ad 40 void collision_checker(N5110 &lcd,Objects &objects);//checks if the shot has coma into contact with the ball
thestudent 10:f5b920a6a71a 41 void ball1_finder(int x, int y);//checks which ball has been hit by a shot and then decreses it size(linear)
thestudent 10:f5b920a6a71a 42 void ball_finder(int x, int y);//checks which ball has been hit by a shot and then decreses it size(parabolic)
thestudent 10:f5b920a6a71a 43 bool cannon_smash(N5110 &lcd,Objects &objects);
thestudent 6:33bdb54c2c88 44
thestudent 6:33bdb54c2c88 45 private:
thestudent 6:33bdb54c2c88 46 int _initial_radiuss;//holds the intial ball radiuss which is 2
thestudent 10:f5b920a6a71a 47 int _cannon_y_pos; // holds the cannons y position
thestudent 6:33bdb54c2c88 48 };
thestudent 6:33bdb54c2c88 49 #endif