hello i start to make code for a game the rules was in 3lines we shoot bubles blue or red and when they meet they dead
i need help for the meet code(a friend try to do something in my code as you can see and to do a random player i try something it can’t work for the red bubles to play alone with the coomputer sorry for my english i was french i need it in 3days
PImage terrain;//image fond
float temps;
float ligne;
float val = 500;
float antispam1 = -1000;
float antispam2 = -1000;
ArrayList uniteA = new ArrayList();   // Tableau des unités alliés
ArrayList uniteE = new ArrayList();   // Tableau des unités ennemies
float compA=-1;//Variable de comparaison
float compA2=-1;//Variable de comparaison
float compE=-1;//Variable de comparaison
float compE2=-1;//Variable de comparaison
void setup()
{
 smooth();
 size(1400,600);//taille fenêtre
 terrain=loadImage("terrain.jpg");//image fond
 terrain.resize(1400,600);//remise a la bonne taille
}
void draw() 
{
 background(terrain);
 creationEnnemis();
  for (int i = 0; i < uniteA.size(); i++) {
    bleu ball = (bleu) uniteA.get(i);
    ball.deplacementA();
    ball.display();
}
  for (int i = 0; i < uniteE.size(); i++) {
    rouge ball = (rouge) uniteE.get(i);
    ball.deplacementE();
    ball.display();
  }
  
if(compA>compE && compA2==compE2  ){print("test");}//intéraction entre les unités
if(compA==1400){clear();stop();textSize(40);
text("Victoire Bleue", 600, 300); }
if(compE==0){clear();stop();textSize(40);
text("Victoire Rouge", 600, 300); }
}
class bleu{                // On crée une classe (ou un objet) unité allié qui aura tous ces paramètres
  //Déclaration des paramètres de base de la balle
  float x;
  float y;
  float comp;
  color couleur;
  float deplacement;
  //Constructeur de l'unité
  bleu (float nouvX, float nouvY, float nouvComp, color nouvCouleur) {    //Pos x, Pos y, vérification, Couleur (Pour chaque unité créer il faudra lui donner en parametre une posx, une pos y ... (exemple : new unite(50,100,1,color(30,144,255)) 
 
    this.x          = nouvX;              //position X
    this.y          = nouvY;              //position Y
    this.comp      = nouvComp;          //variable de vérification de l'unité
    this.couleur    = nouvCouleur;        //couleur de l'unité
  }
  
 void deplacementA(){
    deplacement++;
    for (int i = 0; i < uniteA.size(); i++) {
    bleu ball = (bleu) uniteA.get(i);
    ball.display();
   }
  }
     void display() {
    fill(couleur);
    ellipse(comp=deplacement*2,compA2= y, 40, 40);
    compA=comp;
  }}
class rouge{                // On crée une classe (ou un objet) unité allié qui aura tous ces paramètres
  //Déclaration des paramètres de base de la balle
  float x;
  float y;
  color couleur;
  float deplacement;
  float comp;
  //Constructeur de l'unité
  rouge (float nouvX, float nouvY, float nouvComp, color nouvCouleur) {    //Pos x, Pos y, Couleur (Pour chaque unité créer il faudra lui donner en parametre une posx, une pos y ... (exemple : new unite(50,100,color(30,144,255)) 
 
    this.x          = nouvX;              //position X
    this.y          = nouvY;              //position Y
    this.couleur    = nouvCouleur;        //couleur de l'unité
    this.comp       = nouvComp;
  }
  
 void deplacementE(){
    deplacement++;
    for (int i = 0; i < uniteE.size(); i++) {
    rouge ball = (rouge) uniteE.get(i);
    ball.display();
   }
  }
     void display() {
    fill(couleur);
    ellipse(comp=1350-deplacement*2,compE2= y, 40, 40);
    compE=comp;
  }}
void keyReleased(){
    
    temps = millis();                                         // la fonction millis() donne le temps depuis que le programme a démarré (en millisecondes)
        ligne=random(1,3);                                                      // on créer une variable temps qui va etre = à sa
    
 for(int i=0; i<temps;i++)   {     //antispam... est déclaré au debut et est égal à -1000 (-1000 car comme sa on peut cliquer des que le programme se lance)
                                                              // car quand on lance le programme "temps" sera égal à 0 et quelques et ducoup sa sera bien, >= à (-1000 +1000 donc 0)
      if (key == 'a'&& temps >= antispam1 +val){
        uniteA.add( new bleu(50,200,1,color(30,144,255)));
         // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
       if (key == 'q'&& temps >= antispam1 +val){
        uniteA.add( new bleu(50,300,1,color(30,144,255)));    // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
       if (key == 'w'&& temps >= antispam1 +val){
        uniteA.add( new bleu(50,400,1,color(30,144,255)));    // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
      
      antispam1 = temps;
      
      //touches ennemies
      if (key == 'p'&& temps >= antispam2 +val){
        uniteE.add( new rouge(1350,200,1, color(237,0,0)));   // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }//key == 'p'
      if (key == 'm'&& temps >= antispam2 +val){
        uniteE.add( new rouge(1350,300,1, color(237,0,0)));   // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
      if (key == '!'&& temps >= antispam2 +val){
        uniteE.add( new rouge(1350,400,1,color(237,0,0)));    // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
     
      antispam2 = temps;
 }}
void creationEnnemis() {
  temps = millis();
  temps= random(2400);
 ligne=random(1,3);
while(compE==0 & compA==1400){
if (ligne == 1){
        ellipse(1350,200,1, color(237,0,0));    // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
      if (ligne == 2){
         ellipse(1350,300,1, color(237,0,0)); // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
      if (ligne == 3){
        ellipse(1350,400,1,color(237,0,0));    // On cree une unité qui s'ajoute dans le tableau "uniteJ" avec une posX, posY, une variable de comparaison et une couleur     
      }
      
}}
```thanks