Coches que se chocan con una bola movida por mi

boolean r,l,u,d;

int x,y=60;

Car[] myCars;

int numCoches = 30;


void setup() {

  size(800, 600);

  myCars = new Car[numCoches]; 

  

  for (int i = 0; i < numCoches; i++) {

    color c = color(random(255), random(255), random(255));

    float xpos = random(width-5);

    float ypos = random(height-5);

    float xspeed = random(-6, 6);

    

      if (xspeed == 0){

        xspeed = 1;}


    myCars[i] = new Car(c, xpos, ypos, xspeed);

  }

}


void draw() {

  background(255);

  muevebola();

  dibujabola();

  

  for (int i = 0; i < numCoches; i++) {

    myCars[i].drive();

    

    if(dist(x,y,myCars[i].xpos,myCars[i].ypos)<27){

     noLoop(); 

    }

    

    myCars[i].display();

  }

}


void muevebola(){

  if (r){

    x=x+2;

  }

  if (l){

    x=x-2;

  }

  

  if (u){

    y=y-2;

  }

  

  if (d){

    y=y+2;

  }

}


void keyPressed(){

  if (keyCode==RIGHT){

    r=true;

  }


  if (keyCode==LEFT){

    l=true;

  }


  if (keyCode==UP){

    u=true;

  }


  if (keyCode==DOWN){

    d=true;

  }

}


void keyReleased(){

  if (keyCode==RIGHT){

    r=false;

  }


  if (keyCode==LEFT){

    l=false;

  }


  if (keyCode==UP){

    u=false;

  }


  if (keyCode==DOWN){

    d=false;

  }

}


void dibujabola(){

  circle(x,y,30);

}


class Car {

  color c;

  float xpos;

  float ypos;

  float xspeed;

  Car(color tempC, float tempXpos, float tempYpos, float tempXspeed) {

    c = tempC;

    xpos = tempXpos;

    ypos = tempYpos;

    xspeed = tempXspeed;

  }


  void display() {

    stroke(0);

    fill(c);

    rectMode(CENTER);

    rect(xpos, ypos, 20, 10);

  }


  void drive() {

    xpos = xpos + xspeed;

    if (xpos > width && xspeed > 0) {

      xpos = 0;

    } else if (xpos < 0 && xspeed < 0) {

      xpos = width;

    }

  }

}


Comentarios

Entradas populares de este blog

Medidas de Seguridad

PYTHON: bolas que cuando choquen se pare el programa