Game designed for project

Dependencies:   mbed Gamepad2

Committer:
vaib
Date:
Sun May 24 09:15:25 2020 +0000
Revision:
3:5ede4ac61af1
Created a class for the balls's movement and am now working of the obstacles/blocks

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vaib 3:5ede4ac61af1 1 #include "Ball.h"
vaib 3:5ede4ac61af1 2
vaib 3:5ede4ac61af1 3 void Ball::init(int radius, int height, int speed)
vaib 3:5ede4ac61af1 4 {
vaib 3:5ede4ac61af1 5 _radius = radius;
vaib 3:5ede4ac61af1 6
vaib 3:5ede4ac61af1 7 _x = WIDTH/2 - _radius;
vaib 3:5ede4ac61af1 8 _y = height;
vaib 3:5ede4ac61af1 9
vaib 3:5ede4ac61af1 10 srand(time(NULL));
vaib 3:5ede4ac61af1 11 int direction = rand() % 2; // randomise initial direction.
vaib 3:5ede4ac61af1 12
vaib 3:5ede4ac61af1 13 // 4 possibilities. Get random modulo and set velocities accordingly
vaib 3:5ede4ac61af1 14 if (direction == 0) {
vaib 3:5ede4ac61af1 15 _velocity.x = speed;
vaib 3:5ede4ac61af1 16 _velocity.y = speed;
vaib 3:5ede4ac61af1 17 } else (direction == 1) {
vaib 3:5ede4ac61af1 18 _velocity.x = -speed;
vaib 3:5ede4ac61af1 19 _velocity.y = speed;
vaib 3:5ede4ac61af1 20 }
vaib 3:5ede4ac61af1 21 }
vaib 3:5ede4ac61af1 22
vaib 3:5ede4ac61af1 23 void Ball::print_lcd(N5110 &lcd)
vaib 3:5ede4ac61af1 24 {
vaib 3:5ede4ac61af1 25 lcd.drawCircle(_x, _y, _radius, FILL_BLACK);
vaib 3:5ede4ac61af1 26 }
vaib 3:5ede4ac61af1 27
vaib 3:5ede4ac61af1 28 void Ball::set_size(int radius)
vaib 3:5ede4ac61af1 29 {
vaib 3:5ede4ac61af1 30 _radius = radius;
vaib 3:5ede4ac61af1 31 }
vaib 3:5ede4ac61af1 32
vaib 3:5ede4ac61af1 33 void Ball::set_position(int x, int y)
vaib 3:5ede4ac61af1 34 {
vaib 3:5ede4ac61af1 35 _x = x;
vaib 3:5ede4ac61af1 36 _y = y;
vaib 3:5ede4ac61af1 37 }
vaib 3:5ede4ac61af1 38
vaib 3:5ede4ac61af1 39 void Ball::set_velocity(Vector2D velocity)
vaib 3:5ede4ac61af1 40 {
vaib 3:5ede4ac61af1 41 _velocity.x = velocity.x;
vaib 3:5ede4ac61af1 42 _velocity.y = velocity.y;
vaib 3:5ede4ac61af1 43 }
vaib 3:5ede4ac61af1 44
vaib 3:5ede4ac61af1 45 void Ball::update_position()
vaib 3:5ede4ac61af1 46 {
vaib 3:5ede4ac61af1 47 _x += _velocity.x;
vaib 3:5ede4ac61af1 48 _y += _velocity.y;
vaib 3:5ede4ac61af1 49 }
vaib 3:5ede4ac61af1 50
vaib 3:5ede4ac61af1 51 void Ball::get_position()
vaib 3:5ede4ac61af1 52 {
vaib 3:5ede4ac61af1 53 Vector2D position = {_x, _y};
vaib 3:5ede4ac61af1 54 return position;
vaib 3:5ede4ac61af1 55 }
vaib 3:5ede4ac61af1 56
vaib 3:5ede4ac61af1 57 void Ball:get_velocity()
vaib 3:5ede4ac61af1 58 {
vaib 3:5ede4ac61af1 59 Vector2D velocity = {_velocity.x, _velocity.y};
vaib 3:5ede4ac61af1 60 return velocity
vaib 3:5ede4ac61af1 61 }