Arturs Kozlovskis / Mbed 2 deprecated ELEC2645_Project_el18ak

Dependencies:   mbed

Committer:
thestudent
Date:
Wed Apr 29 12:48:40 2020 +0000
Revision:
13:1dbef50789ed
Parent:
12:f7dfd44569b6
Child:
14:739115711bf8
Finished with linear ball design and movement

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 12:f7dfd44569b6 38 void ball_position_parabolic( N5110 &lcd, Objects &objects, int c);//governs the balls movement in a parabolic way
thestudent 12:f7dfd44569b6 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 11:4722bf70b2be 43 bool cannon_smash(N5110 &lcd,Objects &objects);// checks if the cannon has crashed with anything
thestudent 11:4722bf70b2be 44 int random(Gamepad &pad);//generates a random number
thestudent 12:f7dfd44569b6 45 void ball_creater(N5110 &lcd, Objects &objects, Gamepad &pad);//controls ball making and their movement equations
thestudent 13:1dbef50789ed 46 int get_score();//gets the players score
thestudent 13:1dbef50789ed 47
thestudent 13:1dbef50789ed 48 vector <int> created_balls;
thestudent 6:33bdb54c2c88 49
thestudent 6:33bdb54c2c88 50 private:
thestudent 6:33bdb54c2c88 51 int _initial_radiuss;//holds the intial ball radiuss which is 2
thestudent 10:f5b920a6a71a 52 int _cannon_y_pos; // holds the cannons y position
thestudent 13:1dbef50789ed 53 int _score;//holds the score
thestudent 6:33bdb54c2c88 54 };
thestudent 6:33bdb54c2c88 55 #endif