FunLabyrinthe

Grandes classes de composants

Cette section détaille les grandes classes de composants.

TPlayer : le joueur

La classe TPlayer contient le seul et unique composant qui représente le joueur (dont l'ID est Player). Le joueur est le composant le plus important de FunLabyrinthe, puisque tout tourne autour de lui. Après tout, si on fait un labyrinthe, c'est bien parce que quelqu'un va y jouer ;-)

Un joueur est un composant qui est autonome. Autonome du point de vue des autres composants, pas du point de vue du programme. En effet, il est en fait contrôlé par le joueur humain qui appuie sur des touches de son clavier. Les autres composants, comme les composants de case, ne sont pas autonomes : ils réagissent quand le joueur les sollicite.

En plus du mode et des plugins attachés au joueur, introduits dans les concepts généraux, le joueur a également une série d'attributs. Un attribut est comme une propriété supplémentaire, de type nombre entier. Les différentes unités liées au labyrinthe peuvent ajouter les attributs qu'elles veulent au joueur. L'unité ViewRestriction, par exemple, ajoute l'attribut ViewRestrictionRadius. Les attributs sont donc des données générales que l'ont peut ajouter au joueur.

Un joueur possède une vue. La vue du joueur est ce qui est effectivement affiché à l'écran quand on joue. Le mode du joueur détermine la vue de base, puis les plugins attachés au joueur peuvent ajouter leurs spécificités.

Lorsqu'une touche du clavier est appuyée, le joueur "envoie" cette information à tous ses plugins, jusqu'à ce que l'un d'entre eux signale qu'il a géré cette touche à son compte. Si aucun plugin ne prend la touche en compte, c'est le mode du joueur qui intervient.

Un joueur possède aussi des objets, du moins conceptuellement. Ses objets lui permettent d'effectuer certains actions. Lorsqu'une case demande au joueur d'effectuer une action donnée, celui-ci demande d'abord à tous ses plugins si l'un d'entre peut la prendre en charge. Dans le cas contraire, il demande à ses objets. Si plusieurs objets sont possibles, le joueur humain doit choisir l'un d'eux. Ainsi, s'il doit ouvrir un bloc en or, et qu'il a à disposition une clef d'or et un passe-partout, il peut choisir quelle clef il veut utiliser.

TSquareComponent : composants de case

La classe TSquareComponent englobe tous les composants qui entrent dans la confection d'une case, y compris la case elle-même. Les quatre sous-classes TField, TEffect, TTool et TObstacle regroupent les quatre composantes de case. La sous-classe TSquare englobe les cases elles-mêmes.

TObjectDef : les objets

TObjectDef est la classe des objets. Rappelez-vous qu'un objet est différent d'un outil, bien qu'il y ait une forte corrélation entre ces deux classes de composants.

Un objet a un nom, une image, et tient le compte du nombre qu'en possède le joueur. Il peut aider le joueur qui en possède à effectuer l'une ou l'autre action.

TMap : les cartes

TMap est la classe des cartes. Il n'y a pas grand chose à dire des cartes, si ce n'est que c'est elle qui sait quelle est la case à chacune des positions du jeu.

TVehicle : véhicules

La classe TVehicle regroupe les véhicules. Les barques en sont le seul exemple standard. Les véhicules, à l'instar du joueur, sont placés à un seul endroit maximum sur une des cartes. Ils peuvent modifier les conditions d'accès à la case où ils se trouvent.

Par exemple, la barque permet au joueur de venir dessus, malgré qu'il y a en fait de l'eau en-dessous.

Un véhicule peut être "accaparé" par le joueur. Il suit alors le joueur, se dessinant sous lui, jusqu'à ce qu'il soit détaché du joueur. Pendant qu'un véhicule est attaché à un joueur, il peut modifier ses mouvements comme le ferait un plugin.

TMobileComponent : composants autonomes

La classe TMobileComponent (dont TPlayer est une sous-classe) regroupe tous les composants autonomes, ceux qui peuvent agir d'eux-mêmes.

Aller à la page
(C) 2000-2011 Sébastien Doeraene