//Test Take Home = Peter Stork

String title = "Tennis Time";
String name = "Peter Stork - CST112 Test 2";
int score=0; // Score start

float left=100, top=100, right=700, bottom=500; //Table
float center=  (left+right) / 2;
float ballX=left, ballY=top+5, ballDX=5, ballDY=4;//Ball location
// Ball Color
float r = random(255); 
float b = random(255);
float g = random(255);
float peteX = 600;
float peteY = 400;
float dogX=120, dogY=60, dogDX=120, dogDY= 60;
float birdX=right+12, birdY=top, birdDX=0, birdDY=1;

//Draw Screen
void setup() {
 size (800,600);
 smooth ();


 }
 //Draw scenes
 void draw() {
                                                                             
  scene();                    
  ball();
  dog(); 
  fill (50);

    fill( 155 );
  rectMode( CENTER );
  rect( peteX, peteY, 50, 50 );             
  fill( 0,0,255 );
  ellipse( peteX, peteY-80/2-30/2, 55, 55 ); 
  eye((peteX-6),(peteY-55));
  eye((peteX+6),(peteY-55));
  ball();
}		


void eye(float X, float Y){                
  fill ( 25 );
  ellipse ( X,Y,5,5 );
  fill ( 0,0,255 );
  ellipse ( X,Y,2,2 );
  leg ( peteX+10, peteY+40 );
  leg ( peteX-10, peteY+40 );

}

void leg (float peteX, float peteY) {       
   rect (peteX, peteY, 25, 30);
}


 void scene() {
  background (#f3f58a);
  text ( name, 20, height-20 );//My name
  text (title, width-450, 28);//Game name
  text (score, width-700,35);//Score
  court();
  
}
void court () {//Table
  fill (#2ff56c);
  stroke (0);
  strokeWeight(5);
  rectMode(CORNERS);
  rect(left,top,right,bottom);
  line (400, 500, 400, 100);
}
void dog(){ // dog
  fill( 200, 30, 30 );
  rect( dogX, dogY, 40, 20 ); 
  rect( dogX+23, dogY-10, 20, 10 ); // head
  rect( dogX-25, dogY-10, 6, 6 );  // tail
  rect( dogX-23, dogY+10, 3, 12 );  // legs
  rect( dogX-18, dogY+10, 3, 12 );

  
  dogX = dogX + 1;  /// velocities for dog
  dogY = dogY + 1;
  
  if(dogX > 500 ) {
    dogX = dogDX ; 
  }
  if(dogY > 80) {  /// dog jumping
    dogY = dogDY;
  }
}


void ball () {//Ball Start location
  if(ballX<left || ballX>right) ballDX= -ballDX;
  if(ballY<top  || ballY>bottom) ballDY= -ballDY;
  ballX += ballDX;
  ballY += ballDY;
  fill(r,g,b);
  stroke(0);
  ellipse(ballX,ballY,40,40);
}