import java.awt.Frame; import java.awt.Color; /** * Ouvre une fenêtre et affiche plusieurs chenilles intialement toutes positionnées au centre * de la fenêtre et qui ensuite se déplacent de manière aléatoire. Une chenille sur deux est * une chenille "normale", l'autre étant une chenille colorée dont la couleur est fixée au * hasard.
* Le nombre de chenille peut être fixé par la ligne de commande; * par exemple pour avoir 6 chenilles :
* java AppliChenille2 6 * * @author Philippe Genoud */ public class AppliChenille3 { public static final int NBCH = 5; public static void main(String[] args) { int nbChenilles; // nombre de chenille a afficher if (args.length == 0) nbChenilles = NBCH; else nbChenilles = Integer.parseInt(args[0]); // création de la fenêtre de l'application Frame laFenetre = new Frame("Chenilles"); laFenetre.setSize(512,512); // création de la zône de dessin dans la fenêtre Dessin d = new Dessin(); laFenetre.add(d); // affiche la fenêtre laFenetre.show(); // creation des chenilles. elles sont stockées dans un tableau et ajoutées // à la zône de dessin. Les chenilles d'indice impair sont des chenilles "normales" // les chenilles d'indice pair sont des chenilles colorées Chenille[] chen = new Chenille[nbChenilles]; for (int i = 0; i < nbChenilles; i++) { if ( i % 2 != 0) chen[i] = new Chenille(d.getLargeur(),d.getHauteur(),10,10); else chen[i] = new ChenilleCouleur(d.getLargeur(),d.getHauteur(),10,10, new Color((float) Math.random(), (float) Math.random(), (float) Math.random())); d.ajouterObjet(chen[i]); } // la boucle d'animation while (true) { // fait réaliser aux chenilles un déplacement élémentaire for (int i = 0; i < nbChenilles; i++) chen[i].deplacer(); // la zone de dessin se réaffiche d.repaint(); // un temps de pause pour avoir le temps de voir le nouveau dessin d.pause(50); } } } // AppliChenille3