Player sprite;
Objects object;

PFont font;
String[] state = new String[4];
PImage bg;
PImage title;
boolean beginGame;
boolean endgame;
int i,j, deadTimer;
int timer = 0;

void setup(){
  state[0] = "dead";
  state[1] = "left";
  state[2] = "right";
  state[3] = "jump";
  sprite = new Player();  
  object = new Objects();
  sprite.character = loadImage("stand.png");
  sprite.setup();
  object.setup();
  deadTimer = 0;
  font = loadFont(0,1,0);
  textFont(font);
  beginGame = false;
  endgame = false;
  i=0;
  for(j=0;j<8;j++){
    object.objSpawn();
  }
}


void draw(){
  if(beginGame){
    bg = loadImage("bg.png");
    background(0);  
    image(bg, 0,0);
    sprite.run();
    object.drawObj(sprite.xPos,sprite.yPos);

    if(sprite.health <= 0){
      sprite.animate(state[0]);
      deadTimer++;    
      if(deadTimer > 40){
        beginGame = false;
        endgame = true; 
      }
    }
    else{
      if(timer%5==0){
        sprite.healthStat(object.score, object.count, timer); 
        if(timer%10==0){
          object.objSpawn();    
        }
      }
    }

    noStroke();
    fill(0,255,0);
    rect(0,0,100,13);
    fill(255);
    stroke(255);  
    text(str(sprite.health),5,10);
    text(sprite.level, 38, 10);

    timer++;
    if(keyPressed){
      if(key == '6'){  
        sprite.animate(state[2]);
      }
      else if(key == '4'){
        sprite.animate(state[1]);
      }
      else if(key =='2'){
        sprite.animate(state[3]); 
      }
    }
  }
  else{
    if(!endgame){
      background(0);
      title = loadImage(object.path+object.purse[i%object.purse.length]);
      image(title, width/2-10, 30);
      fill(random(0,255),random(0,255),random(0,255));
      text("press 5 to start",width/2-50, 60);
      fill(255);    
      text("NBW: Name Brand Whore\n (the game)",5,height/2);
      fill(140);    
      text("6=right 4=left 2=jump ",5,height/2+40);
      fill(255,150,150);
      text("<3 mark beasley, 2008.\n  http://mark-beasley.com",3,height-20);
      i++; 
      framerate(5);
    }
    else{
      i++; 
      framerate(5);
      background(0);
      title = loadImage(object.path+object.purse[i%object.purse.length]);
      image(title, width/2-10, 30);
      fill(random(0,255),random(0,255),random(0,255));
      text("capitalism is a bitch",width/2-70, 60);
      fill(255);    
      text("you didn't consume fast\n enough... you are\n a bad brand name whore.",5,height/2);
      text("press 5 to redeem\n yourself.",5,height-30);    

    }
  }
}

void keyPressed() {
  if (keyCode == LEFT) {
    sprite.animate(state[1]);
  } 
  else if (keyCode == RIGHT) {
    sprite.animate(state[2]);
  }
  else if(keyCode == UP){
    sprite.animate(state[3]); 
  }
  else if(keyCode =='2'){
    sprite.animate(state[3]);     
  }
  else if(keyCode =='5'){
    beginGame = true;  
    framerate(50);
    if(endgame){
      timer = 0;
      deadTimer = 0;
      endgame = false;
      object.count = 0;
      object.score = 0;
      sprite.health = 100;
      for(j=0;j<8;j++){
        object.objSpawn();
      }
    }
  }
}