Je ne suis que débutant en programmation je fait plutôt de la robotique et utilise rarement autre chose que l'Arduino donc c'est assez naturelemnt que je me suis tourné sur Processing pour réalisé ce "projet"
donc voici les schémas de ce que je voudrais faire :
et pour l'instant j'ai fait cette esquisse de code qui fonctionne pour 1 seule bête :
Balle maBalle = new Balle(500, 500, color(155,50,52));
float w = random(0,500) ;
float v = random(0,500) ;
Nour nouriture = new Nour(w, v, color(255));
float p1 = random(-2,2) ;
float p2 = random(-2,2) ;
float p3 = random(-2,2) ;
float p4 = random(-2,2) ;
void setup() {
smooth(); //Lissage des dessins
size(1000, 1000); //Taille de la fenêtre
}
void draw() {
fill(0, 0, 0, 1);
rect(0, 0, width, height);
noStroke();
//Déplacement et affichage de la balle
maBalle.bouge();
maBalle.testCollision();
maBalle.display();
}
class Balle {
//Déclaration des paramètres de base de la balle
float x;
float y;
float vitesseX; //AJOUT
float vitesseY; //AJOUT
color couleur;
//Constructeur de la balle
Balle (float nouvX, float nouvY, color nouvCouleur) {
x = nouvX;
y = nouvY;
couleur = nouvCouleur;
vitesseX = w*p1+x*p2 ; //AJOUT
vitesseY = v*p3+y*p4 ;
}
//Dessin de la balle
void display() {
fill(couleur);
ellipse(x, y, 40, 40);
nouriture.display();
}
void bouge() {
vitesseX = w*p1+x*p2 ; //AJOUT
vitesseY = v*p3+y*p4 ; //AJOUT
if (vitesseX-abs(vitesseX)<0){
x--;
}
if (vitesseX-abs(vitesseX)==0){
x++;
}
if (vitesseY-abs(vitesseY)<0){
y--;
}
if (vitesseY-abs(vitesseY)==0){
y++;
}
}
void testCollision() {
//Si la balle touche une mur, elle rebondit
if (x > width-20 || x < 20) {
vitesseX = vitesseX * -1;
}
if (y > height-20 || y < 20) {
vitesseY = vitesseY * -1;
}
}}
class Nour {
//Déclaration des paramètres de base de la balle
float z=500;
float q=500;
color couleur2;
//Constructeur de la balle
Nour (float nouvz, float nouvq, color nouvCouleur2) {
z = nouvz;
q = nouvq;
couleur2 = nouvCouleur2;
}
//Dessin de la balle
void display() {
fill(couleur2);
ellipse(z, q, 40, 40);
}
} // soyez indulgent je rappelle que je suis un petit débutant
on peut voir que si on met 1 ; -1 ; 1 ;-1 pour les poids p1 p2 p3 et p4 la bête se dirige sur la nourriture comme prévu !
mais voila mon problème :
comment faire pour créer plusieurs bêtes en même temps mais sans quelles aient les mêmes poids ?
- Edité par UgoRoux 19 septembre 2016 à 18:08:19
[AIDE] Algo génétique Processing (JAVA)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.