domingo, 7 de febrero de 2016

caza la manzana

int nX = 0;      // Coordenada X, Newton
int nY = 0;      // Coordenada Y, Newton
float mY = 0;    // Coordenada Y, manzanas
int mX = 15;     // Coordenada X, manzanas
float mV = 0;    // Velocidad Y, manzanas
float mA = 0.05; // Aceleracion Y, manzanas
int p = 0;       // Puntos conseguidos
boolean pCount = true;  // Almacena si se pueden contar puntos o no
long t = 0;      // Almacena el tiempo
 
void setup() {
  size(400, 400);
  nY = height - 25;
  t = millis();  // Inicializa la variable de tiempo
}

void draw() {
  background(200);
 
  // Movimiento de la manzana
  mV = mV + mA;
  mY = mY + mV;
  if (mY > height) {
    mY = 15;  
    mX = int(random(width - 20));
    mV = 0;  
    pCount = true;  // Al lanzar una nueva manzana, se podran volver a contar puntos
  }
 
  fill(255);
 
  // Deteccion de la colision
  if (mY + 10 > nY && mY - 10 < nY + 20) {
    if (mX + 10 > nX && mX - 10 < nX + 20) {
      fill(255, 0, 0);
      // Si hay colision, incrementa un punto
      if (pCount) p = p + 1;
      pCount = false;  // En cualquier caso, cada vez que se entre
                       // aqui, ya no se pueden contar puntos
    }
  }

  ellipse(mX, mY, 20, 20);
  rect(nX, nY, 20, 20);

 
  // Contabilizacion del tiempo
  float timer = (millis() - t) / 1000;  // Cuenta cuanto tiempo ha pasado en segundos

  // Fin del juego (GAME OVER)
  if (timer >= 30) {  // Si el tiempo alcanza 30000 es el fin del juego
    noLoop();
  }

  // Muestra el tiempo en la pantalla
  fill(0);
  text("Tiempo: " + (30 - timer), 10, 20);

  // Muestra los puntos en pantalla
  fill(0);
  text("Manzanazos: " + p, 3 * width / 4, 20);
}

void keyPressed() {
  // Incrementa las coordenadas en 3 unidades
  if (keyCode == RIGHT) {
    nX = nX + 3;
  }
  // Decrementa las coordenadas en 3 unidades
  if (keyCode == LEFT) {
    nX = nX - 3;
  }
  // Limita el valor de la coordenada X
  if (nX < 0) {
    nX = 0;
  }
  if (nX > width - 20) {
    nX = width - 20;
  }
}

No hay comentarios:

Publicar un comentario