ReadyForYOURPLS
2022-12-05 03:01:41
Je lui demande et la guide pour créer une autre simulation de vie, elle n'y arrive pas cette merde
// Création de la classe Agent
class Agent {
// Propriétés de l'agent
float x, y; // Position de l'agent
float speed; // Vitesse de l'agent
// Constructeur de la classe Agent
Agent(float x_, float y_, float speed_) {
x = x_;
y = y_;
speed = speed_;
}
// Méthode pour mettre à jour la position de l'agent
void update() {
// Déplacement aléatoire de l'agent
x += random(-speed, speed);
y += random(-speed, speed);
}
// Méthode pour afficher l'agent
void display() {
// Dessin d'un cercle pour représenter l'agent
ellipse(x, y, 5, 5);
}
}
// Liste des agents
Agent[] agents;
// Définition des zones rouges
float[] redZonesX = {50, 150, 250};
float[] redZonesY = {50, 150, 250};
float[] redZonesW = {100, 100, 100};
float[] redZonesH = {100, 100, 100};
void setup() {
size(400, 400);
// Initialisation de la liste des agents
agents = new Agent[100];
// Création des agents et ajout à la liste
for (int i = 0; i < agents.length; i++) {
agents[i] = new Agent(random(width), random(height), random(1, 5));
}
}
void draw() {
background(255);
// Vérification d'une condition pour recommencer le système
// (par exemple, si la touche "r" est enfoncée)
if (keyPressed && key == 'r') {
setup(); // Appel de la fonction setup() pour recommencer
}
// Affichage des zones rouges
fill(255, 0, 0);
for (int i = 0; i < redZonesX.length; i++) {
rect(redZonesX[i], redZonesY[i], redZonesW[i], redZonesH[i]);
}
// Mise à jour et affichage des agents
for (int i = 0; i < agents.length; i++) {
// Vérification si l'agent se trouve dans une zone rouge
boolean inRedZone = false;
for (int j = 0; j < redZonesX.length; j++) {
if (agents[i].x > redZonesX[j] && agents[i].x < redZonesX[j] + redZonesW[j] &&
agents[i].y > redZonesY[j] && agents[i].y < redZonesY[j] + redZonesH[j]) {
inRedZone = true;
break;
}
}
// Si l'agent se trouve dans une zone rouge, on le supprime de la liste
if (inRedZone) {
agents = shorten(Agents[]);
} else {
agents[i].update();
agents[i].display();
}
}
}