Le polymorphisme

From OFSET Wiki

Jump to: navigation, search

Contents

[edit] Le polymorphisme avec les Etoys

[edit] Définition

Le polymorphisme est une particularité des langages objet. Plusieurs objets peuvent avoir un script ou une méthode de même nom exécutant une action en lien avec le nom mais d'une manière spécifique pour chaque objet. Nous allons illustrer celà à partir d'une version plus élaborée du jeu du serpent.

[edit] Qui sait quoi, qui fait quoi

C'est la question fondamentale à se poser lorsque l'on prépare un projet en langage objet. Nous allons décrire de cette manière notre jeu du serpent. Le savoir d'un objet est contenu dans ses variables, notre projet n'utilise pas de variable, la colonne sait est donc vide.

Les acteurs sont:

  • Le serpent.
  • Des pastilles que le serpent mange.
  • Une étoile qui régénère les pastilles.
  • Des rats que le serpent doit éviter.
  • Un terrier qui contient les rats.
  • le score
  • L'affichage gameOver qui marque la fin d'une partie.
  • Le jeu, une scène qui contient tout ce petit monde.
objet sait fait
serpent
-
pilote réagit aux touches fléchées, avance, teste la collision avec les bords
init Se place au centre.
pastille
-
collision teste la collision avec le serpent si oui ,se cache
range se montre au hasard
init exécute range.
étoile
-
collision teste collision avec le serpent, si oui envoie range tous les objets.
rat
-
range retourne dans le terrier
init exécute range
bouge Avance droit devant, retourne au terrier si touche le bord.
terrier
-
expulseUnRat met un rat en route
score
-
init met à zéro le score
augmente le score de 1
gameOver
-
init se cache
gameOver se montre, termine le jeu.

Le script début dans jeu envoie init à tous les objets inclus.

Le script init se trouve dans plusieurs objets, chaque objet réagit à sa façon pour se mettre en position initiale.

De même l'étoile, lors d'une collision avec le serpent, envoie range aux objets inclus pour remettre les pastilles dans le jeu et ranger les rats.

[edit] Réalisation du jeu du serpent

[edit] Scripts du serpent

[edit] Chapitre suivant

Personal tools