Oh my god, bon pour être honnête, j'ai franchement du mal avec mes cours de programmation, mais sur ce coup je galère grave --"
Voici mon énoncé :
"Dans un pré, nous avons un troupeau de moutons. Une épidémie se propage
dans le troupeau depuis les moutons noirs vers les autres moutons.
Un troupeau est un ensemble de moutons et de moutons noirs. Chacun d'eux à une
taille et une couleur spécifique (pour les moutons noirs, cette couleur est le noir...). Le pré
est lui un élément graphique. Un troupeau peut être mis à pâturer dans un pré. Cela
signifie que les moutons du troupeau vont s'afficher dans le pré en question.
L'épidémie est définie selon un délai et une distance. A chaque fois qu'un temps
équivalent au délai s'écoule, les moutons, dans un rayon dépendant du nombre de délais
déjà écoulés et du paramètre distance, autour d'un mouton noir, sont contaminés.
Il est possible de stopper l'épidémie en détectant les moutons noirs et en les
rendant inactifs. "
Quelques indications :
"Un mouton,
A partir du travail précédent sur les disques, étendez votre classe (celle issue d'un
symbole de la bibliothèque) en une classe Mouton définie dans un fichier Mouton.as.
Ajoutez à cette classe un constructeur qui défini la taille et la couleur (aléatoires) du
mouton. La structure du fichier ressemble au code ci-dessous :
package{
public class Mouton extends LaClasseQueVousAviezDefiniAuTP1
{
/* Les attributs de la classe Mouton que vous jugez nécessaires */
/* le constructeur de la classe Mouton qui prend deux paramètres
(optionnels) définissant la couleur et la taille (si pas fournis,
couleur et taille aléatoires). */
public function Mouton(uneCouleur:ColorTransform=null,
uneTaille:Number=NaN):void
{
/* définition de la taille, de la couleur, de l'état de
contamination du mouton */
}
}
}
Des Moutons...
Modifiez la boucle de votre programme principal en utilisant la classe Mouton, et
non plus la précédente (plus besoin des définitions de taille et de couleur dans la boucle,
par exemple).
...Qui pâturent.
Dans un second temps, définissez une classe Pre à partir d'un symbole de la
bibliothèque (pourquoi pas un carré vert ?). Affichez un pré sur votre scène par du code
sur la scène principale. Au lieu d'ajouter vos moutons sur la scène principale, ajoutez les
maintenant sur ce pré.
Jusque là j'ai su faire, je bloque sur la suite ...
En fait, non, plutôt un troupeau...
Créez maintenant une classe Troupeau. Réalisez ensuite la création (et le
stockage dans le tableau-attribut de Troupeau) des moutons à l'intérieur du constructeur de
cette classe. Affichez enfin ces moutons par l'appel à la méthode paturer du troupeau (qui
fait elle-même appel à la méthode paturer de chaque mouton, à créer aussi...).
...Avec des moutons noirs.
Dérivez une classe MoutonNoir de la classe Mouton. Ajoutez la création et le
stockage de moutons noirs dans le troupeau, et leur affichage par la méthode paturer...
Ajoutons une épidémie...
Définissez la classe Epidemie, qui étend la classe Timer prédéfinie dans
ActionScript 3.0, avec son constructeur (qui nécessite les paramètres de fonctionnement
de l'épidémie), la méthode contaminer (qui définit le troupeau où la propagation aura lieu),
la méthode propager (qui est déclenchée à chaque top d'horloge) et la méthode rayon (qui
permet d'accéder à la propriété privée laDistance).
Et sa propagation.
Rajoutez la méthode propagerEpidemie à la classe Troupeau, la méthode
contaminer à la classe MoutonNoir et la méthode etreContamine à la classe Mouton. Les
précisions sur le fonctionnement du système, données au début de ce document (p. 3),
peuvent être utiles...
Détection des moutons noirs
Il faut pouvoir déplacer les moutons pour trouver les moutons noirs. Ceci est
réalisable à l'aide des méthodes deplacer et poser de la classe Mouton, qui gèrent
respectivement l'appui sur le bouton de la souris et son relâchement (exactement comme
vous l'avez fait pour le premier TP). Ensuite, il faut rendre le mouton noir non contagieux
quand on clique dessus (gestionnaire d'événement detecter de la classe MoutonNoir).
Fin de partie
Reste à trouver le moyen de déterminer si le joueur à gagné ou perdu... "
J'ai vraiment besoin d'aide, je suis nulle, pas de moquerie mais un peu de pitié lol !
Message édité par Happy_meal le 31-10-2010 à 17:56:56