This lab is due by Tuesday, December 03, 2019, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab.  If you choose to pair program a solution, be sure that you individually understand how to generate the correct solution.
Concepts
You are going to create a magic bouncing ball to watch as it moves around the screen.
Class Creation
	For this lab you must first create a class called
	Bubble
	. The
	Bubble
	class should have private data members to store the following
	information:
- a 
CircleShapewhich will be used to draw the Bubble - two 
doubles to store the X and Y direction respectively the Bubble should move (call themxDirandyDir) 
	Be sure to have the necessary getters and setters for your private data
	members. You may make non-default constructors as you deem necessary to
	set initial values on your
	Bubble
	class. Additionally, we want one public member function:
updatePosition(): which should add the direction values to the position of theCircleShape
Draw It!
	In our
	main()
	, before we get to the draw loop we want to make an object of our
	Bubble
	class. We want only one instance to exist in memory. If we made the
	object inside the draw loop, then every iteration of the draw loop a
	new object would be created.
 
 Next, inside our draw loop, after
	we've cleared the window and before we display the window, we need to
	display the
	CircleShape
	that is a member of our
	Bubble
	object.
 
 At this point, you should see a white circle. Perfect!
	Let's continnue.
Move It!
	When we create our
	Bubble
	object, we need to make sure its direction values are set to non-zero
    values. Do this now, we suggest using values of 0.1 & 0.2 for x & y
	respectively.
 
 Then in our draw loop, after we've checked the
	events we simply need to call our
	updatePosition()
	function on the object. It should be moving now. Oh no! It went off the
	screen. Let's keep it in view.
Bop It!
	The last part of this lab is have the Bubble bounce around the window.
	Recall that the position for a
	CircleShape
	corresponds to the upperleft corner of a square enclosing the circle.
	We need to check if any of the edges of our circle move outside the
	window. We can check this by seeing if the position becomes less than
	zero (to correspond to the left or top of our window) OR if the position
	plus the diameter is greater than the width or height of our window (to
	correspond to the right or bottom of our window).  If any of these
	conditions occur, then we simply need to reverse the corresponding
	direction of our Bubble to simulate a bounce.  Once we've checked
	all four sides, we're contained!  
	
	We recommend to start with the right wall first, then bottom, then
	left, then top.  Get them working one at a time and keep adding to
	your code.
	
	Excellent.  Move on to A8	.  You will continue right where this Lab left off.
Lab Submission
You will submit your solution to this lab with the rest of Set8. Detailed instructions for doing this are posted in Assignment 8.
This lab is due by Tuesday, December 03, 2019, 11:59 PM.
As with all labs you may, and are encouraged, to pair program a solution to this lab.  If you choose to pair program a solution, be sure that you individually understand how to generate the correct solution.