import java.util.ArrayList; import java.awt.*; public class Aquarium { public static final int PASMAXPROIES = 4; public static final int ESPACEVITALX = 100; public static final int ESPACEVITALY = 100; public static final int DUREEVIE = 100; private ArrayList lesProies; private ArrayList lesPredateurs; private Fenetre maFenetre; //une vue graphique Aquarium (int NbProies, int NbPredateurs) { lesProies = new ArrayList(); this.lesPredateurs = new ArrayList(); this.lesProies.add( new Proie( Aleatoire(0, ESPACEVITALX) , Aleatoire(0, ESPACEVITALY) ) ); maFenetre = new Fenetre("Proies Predateurs", 500, 500, this.lesProies, this.lesPredateurs, 0, Color.RED, Color.BLACK); // Création de la fenêtre graphique } public void simulation(int nb ) { int temps=0; while (temps != nb) { deplacements(); Proie.regenererNourritureProies(5); System.out.println("Predateurs :"+this.lesPredateurs.size()+" Proies :"+this.lesProies.size() ); temps++; // affichage dans la vue maFenetre.mise_a_jour(this.lesProies, this.lesPredateurs, temps); // mise en jour des variables modèle maFenetre.repaint(); // on redessine la vue try { Thread.sleep(100); // on ralentit la simulation 0.1s ici } catch(InterruptedException e){ } } } private void deplacements() { for( int j=0; j< this.lesProies.size(); j++) { (this.lesProies.get(j)).deplacement(); } } private void mortalité() { // 1) vielles proies // 2) vieux predateurs // 3) predation } private void reproProies() { ArrayList bebe = new ArrayList(); } private int Aleatoire( int min, int max ) { return (int) ((Math.random()*(max-min+1))+ min); } private boolean probaRealisation( double pourcentage ) { double val = Math.random(); if (val<=pourcentage) return true; else return false; } }