FunLabyrinthe

Événements et instructions

Après avoir fait un terrain tout simple qui ne fait rien, il est temps de créer un composant qui fait quelque chose. Pour cela, nous allons prendre l'exemple d'un effet. De même que le mot-clef field introduit un terrain, le mot-clef effect permet de créer une nouvelle classe d'effet. Vous aurez compris qu'existent également des mots-clef similaires tool et obstacle.

Pour que cet effet fasse quelque chose, il faut réagir aux différents événements qui surviennent dans FunLabyrinthe. Rappelez-vous que l'événement principal d'un effet est l'événement Execute, qui est déclenché lorsque le joueur tombe sur l'effet.

Entre les lignes begin et end, vous pourrez écrire les instructions que FunLabyrinthe devra exécuter lorsque l'événement Execute surviendra.

Instructions de base

Les instructions du langage FunDelphi peuvent être très diverses. En réalité, ce sont les mêmes que le langage de programmation Delphi, avec quelques simplifications liées à FunLabyrinthe. Cette section vous présente une série d'instructions de base, classiques, que vous voudrez utiliser dans FunLabyrinthe.

Changer le terrain, l'effet, l'outil ou l'obstacle d'une case

Très souvent, vous voudrez modifier une des composantes d'une case de la carte courante. Ceci peut se faire comme suit :

Cette instruction place une flèche nord sur la case (1, 3, 0) de la carte courante. Les trois nombres sont les coordonnées (X, Y, Z) de la case sur la carte. Vous pouvez remplacer Effect par Field, Tool ou Obstacle, pour modifier respectivement le terrain, l'outil, ou l'obstacle.

NorthArrow indique quel est le nouvel effet. Il s'agit de l'ID du composant voulu.

Si vous essayez de compiler ce code tel quel, vous aurez une mauvaise surprise :

On appelle ce type d'erreur une erreur de compilation. Forcément, lorsqu'on programme dans un langage qui impose des règles, il arrive qu'on les enfreigne. Le compilateur est là, entre autres, pour vérifier qu'on a bien respecté toutes les règles. Quand ce n'est pas le cas, il affiche des erreurs.

Notez que l'erreur a un texte (Identificateur NorthArrow non déclaré) et une position (la ligne mise en rouge), ce qui peut vous aider à localiser et à corriger l'erreur.

En l'occurrence, cette erreur signifie que le compilateur ne sait pas ce qu'est NorthArrow. Soit il a été mal orthographié, soit il n'a pas été déclaré correctement. Il s'agit ici du second cas. En effet, NorthArrow est déclaré dans une autre unité (un autre fichier source, si vous préférez) : FLBSimpleEffects. Il est donc nécessaire de dire au compilateur qu'il doit aussi regarder dans cette unité. C'est le rôle de la clause uses en début de source FunDelphi.

Cette fois, si vous compilez, vous n'aurez plus d'erreur.

Vous pouvez spécifier plusieurs unités à utiliser en les séparant par une virgule.

2

Changer complètement une case

Si la section précédente montrait comme changer une des composantes d'une case, celle-ci présente comment modifier entièrement une case :

(Grass demande l'unité FLBFields.)

Vous pouvez constater que vous pouvez combiner plusieurs composantes de case avec l'opérateur +. N'oubliez pas qu'il est nécessaire qu'il y ait un terrain. Sinon vous courrez à la catastrophe.

Afficher un message au joueur

Pour afficher un message au joueur utilisez l'instruction suivante :

Le texte affiché au joueur est une chaîne de caractères. Si vous voulez mettre une vraie apostrophe au sein d'un message, doublez-la, comme dans 'Salut l''ami !'.

Si votre message est long, il risque fort de dépasser la ligne grise verticale qui se trouve à droite. De manière générale, il est raisonnable d'éviter de dépasser cette largeur de ligne, car la lecture devient difficile. Vous pouvez alors découper votre message en plusieurs morceaux, comme ceci :

Donner et reprendre des objets au joueur

Ce petit exemple montre un échange, et par là montre comment donner des objets au joueur, ou lui en reprendre.

La grammaire n'est pas le point fort de FunDelphi : on écrit bien 1 GoldenKeys et non 1 GoldenKey. En effet, c'est l'ID du composant objet clefs d'or. Cependant, notez que la "phraséologie" ressemble à celle de l'anglais naturel.

Déplacer le joueur

Si voulez déplacer le joueur à un autre endroit du jeu, comme un téléporteur, utilisez l'instruction (la méthode en fait) MoveTo :

Cette forme ne change pas de carte, et n'exécute pas non plus la case où le joueur arrive. Si vous voulez exécuter la case de destination, utilisez cette autre forme :

Actuellement, changer de carte requiert d'utiliser des variables, et ne sera donc pas présenté ici.

Changer de direction et continuer le déplacement

L'effet de flèche s'obtient par la combinaison de deux opération : changer la direction du joueur, puis imposer de continuer le déplacement.

Pour obtenir un effet de carrefour, seule l'instruction GoOnMoving est nécessaire.

Faire gagner ou perdre le joueur

Les méthodes Win et Lose font respectivement gagner et perdre le joueur. Elles s'utilisent de manière similaire. Voici un exemple qui fait gagner le joueur.

Afficher ou cacher le joueur

Les méthodes Show et Hide, respectivement, montrent et cachent le joueur. Leur syntaxe est équivalente à Win et Lose, ci-dessus.

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