//project 1 work ups
//Jeff Hall 9/29/14


//Global Settings//
float drWhoX, drWhoY;
float dalekX, dalekY;
float goldX, goldY;
float skyX, skyY;
float moonX, moonY;
float dx;
int timer;
int score;



void setup(){
  size(800,800);
  reset();
}

void reset(){
  drWhoX = 100; 
  drWhoY = 400;
  dalekX = 700;
  dalekY = 400;
  moonX  =75;
  moonY = 75;
  dx = 1;
  goldX=400;
  goldY=400;
  timer = 0;
  score =5000;
}


void draw(){
  frameRate(60);
  background(176, 181, 185);
  stage();
  gold();
  moveMoon();
  drWho();
  dalek();
}

void mousePressed() {
  //on mouse click move gold and deduct points
   goldY = random(260, 750);
   goldX = random(0, 800);
   score = score-50;
}

void keyPressed(){
  /// if key pressed reset
    if(key == 'r'){
     reset();
   }
    
}




void stage(){
  //backdrop for game has sky, moon, score, instructions

  //Sky body
  fill(192, 221, 250);  // Set fill to Light Grey
  strokeWeight(1);
  rectMode(CORNER);  // Set rectMode to CENTER
  rect(0, 0, 799, 200);  // Draw rect using CENTER mode
  
  //Moon body
  strokeWeight(1);
  stroke(0);
  ellipseMode(CENTER);  // Set ellipseMode to CENTER
  fill(255, 255, 255);  // Set fill to White
  ellipse(moonX, moonY, 100, 100);  // Draw ellipse using CENTER mode
  
  // score which is on screen one the bottom
  textSize(15);
  fill(255, 255, 255);
  text("Score:"+score,330,750); 
  
  //instructions on screen on the bottom
  textSize(15);
  fill(255, 255, 255);
  text("Press r to reset game & click to move the gold",215,780); 
}


void gold(){
   //body of gold
  noStroke();
  ellipseMode(CENTER);  // Set ellipseMode to CENTER
  fill(231, 231, 26);  // Set fill to gold
  ellipse(goldX, goldY, 40, 40);  // Draw ellipse using CENTER mode
  //on screen to tell it is the gold 
  textSize(10);
  fill(0);
  text("Gold",goldX-12,goldY+5); 
}


void moveMoon() {
  // normal movement of the Moon
    if (moonX>width+50) moonX=0;
    moonX = moonX+dx;
    
}

void drWho(){
  //Movement of dr Who
  drWhoX=  drWhoX + (goldX-drWhoX)/50;
  drWhoY=  drWhoY + (goldY-drWhoY)/50;
  // Body of dr who
  strokeWeight(1);
  stroke(0);
  ellipseMode(CENTER);  // Set ellipseMode to CENTER
  fill(255, 255, 255);  // Set fill to White
  ellipse(drWhoX, drWhoY-75, 30, 30);  // Draw ellipse using CENTER mode
  fill(30, 83, 139);  // Set fill to Light blue
  strokeWeight(1);
  rectMode(CENTER);  // Set rectMode to CENTER
  rect(drWhoX, drWhoY, 100, 150);  // Draw rect using CENTER mode
  textSize(15);      // text on the body of dr Who
  fill(255, 255, 255);
  text("Dr. Who",drWhoX-30, drWhoY+25); 
}

void dalek(){
  //Movement of dalek
  dalekX=  dalekX + (drWhoX-dalekX)/100;
  dalekY=  dalekY + (drWhoY-dalekY)/100;
  //Body of dalek
  ellipseMode(CENTER);  // Set ellipseMode to CENTER
  fill(0, 0, 0);  // Set fill to Black
  ellipse(dalekX, dalekY, 100, 100);  // Draw ellipse using CENTER mode
  rectMode(CENTER);  // Set rectMode to CENTER
  rect(dalekX, dalekY+75, 100, 150);  // Draw rect using CENTER mode
  triangle(dalekX, dalekY+40, dalekX-75, dalekY+175, dalekX+75, dalekY+175);
  textSize(15);  // text on the body of dalek
  fill(255, 255, 255);
  text("Dalek",dalekX-20, dalekY+50); 
  stroke(0);
  strokeWeight(4);
  line(dalekX,dalekY,dalekX+100,dalekY);
  fill(255);
}








