Arturs Kozlovskis / Mbed 2 deprecated ELEC2645_Project_el18ak

Dependencies:   mbed

Committer:
thestudent
Date:
Wed Apr 29 13:51:14 2020 +0000
Revision:
14:739115711bf8
Parent:
13:1dbef50789ed
Child:
15:3f558f8b54ea
Before changing parabolic ball function

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 14:739115711bf8 11 int ball_x_pos[10]; // balls x position
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 ball_y_pos[10];//balls_y_position
thestudent 7:82079de8bcd6 26 int time_incrementer[10];//increments time value
thestudent 7:82079de8bcd6 27 int ball_x_incrementer[10];//increments movement_x_pos value
thestudent 7:82079de8bcd6 28 int delta_r[10]; // defines the ball size
thestudent 14:739115711bf8 29
thestudent 14:739115711bf8 30
thestudent 7:82079de8bcd6 31 };
thestudent 7:82079de8bcd6 32
thestudent 9:4b11ee1155ad 33 class Functions
thestudent 6:33bdb54c2c88 34 {
thestudent 6:33bdb54c2c88 35 public:
thestudent 6:33bdb54c2c88 36 Functions();
thestudent 12:f7dfd44569b6 37 void ball_position_parabolic( N5110 &lcd, Objects &objects, int c);//governs the balls movement in a parabolic way
thestudent 12:f7dfd44569b6 38 void ball_position_linear (N5110 &lcd, Objects &objects, int c);//governs the balls movement in a linear way
thestudent 9:4b11ee1155ad 39 void collision_checker(N5110 &lcd,Objects &objects);//checks if the shot has coma into contact with the ball
thestudent 10:f5b920a6a71a 40 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 41 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 42 bool cannon_smash(N5110 &lcd,Objects &objects);// checks if the cannon has crashed with anything
thestudent 11:4722bf70b2be 43 int random(Gamepad &pad);//generates a random number
thestudent 14:739115711bf8 44 void ball_creater_linear(N5110 &lcd, Objects &objects, Gamepad &pad);//controls ball making and their movement equations
thestudent 14:739115711bf8 45 void ball_creater_parabolic(N5110 &lcd, Objects &objects, Gamepad &pad);//controls ball making and their movement
thestudent 13:1dbef50789ed 46 int get_score();//gets the players score
thestudent 13:1dbef50789ed 47
thestudent 14:739115711bf8 48 vector <int> created_balls;//holds linear balls
thestudent 14:739115711bf8 49 vector <int> created_ball;//holds the parabolic balls
thestudent 6:33bdb54c2c88 50
thestudent 6:33bdb54c2c88 51 private:
thestudent 6:33bdb54c2c88 52 int _initial_radiuss;//holds the intial ball radiuss which is 2
thestudent 10:f5b920a6a71a 53 int _cannon_y_pos; // holds the cannons y position
thestudent 13:1dbef50789ed 54 int _score;//holds the score
thestudent 6:33bdb54c2c88 55 };
thestudent 6:33bdb54c2c88 56 #endif