Skip to content

Créer un programme

LucBerge edited this page Nov 9, 2019 · 9 revisions

Architecture

  • fr.B4D.program contient l'API des programmes, vous n'avez pas besoin de modifier ces fichiers pour créer votre programme.
  • fr.B4D.programs.tutorials contient tous les programmes tutoriels.
  • fr.B4D.programs.[categorie] contient tous les programmes d'une catégorie.

Créer la classe

Voici un code de départ pour créer votre premier programme :

package fr.B4D.programs;

import fr.B4D.bot.B4D;
import fr.B4D.bot.Person;
import fr.B4D.program.CancelProgramException;
import fr.B4D.program.Category;
import fr.B4D.program.FullInventoryException;
import fr.B4D.program.Place;
import fr.B4D.program.Program;
import fr.B4D.program.ProgramInterface;
import fr.B4D.program.StopProgramException;
import net.sourceforge.tess4j.TesseractException;

public final class MA_CLASSE {
		public final static Program MON_PROGRAMME = new Program(Place.Astrub, Category.Quete, "Sous-catégorie", "Nom", new Channel[] {Channel.PRIVATE, Channel.GENERAL}, Status.AVAILABLE, new ProgramInterface() {
		public void intro(Person person) {
			//Exécuté une seule fois au début du programme
		}
		public void cycle(Person person) throws FullInventoryException, TesseractException, StopProgramException, CancelProgramException {
			//Exécuté n fois
		}
		public void outro(Person person) {
			//Exécuté une seule fois en fin de programme
		}
	});
}

Explications

  • public final static Program MON_PROGRAMME : Créer une constante MON_PROGRAMME de type Program.
  • new Program(...) : Appel du constructeur pour créer le programme. Voici les paramètres à renseigner :
    • Place.Astrub : Le programme débute à Astrub.
    • Category.Quete : Catégorisé en tant que Quête.
    • "Sous-catégorie" : Nom de la sous-catégories du programme.
    • "Nom" : Nom du programme.
    • new Channel[] {Channel.PRIVATE, Channel.GENERAL} : Seul les canaux privé et général seront affichés dans le chat.
    • Status.AVAILABLE : Le status disponible sera activé.
    • new ProgramInterface() {...} : Fonctions du programme. Trois fonctions sont à implémenter.
      • public void intro(Person person){...} : Exécutée une seule fois en début de programme
      • public void cycle(Person person){...} : Exécutée n fois.
      • public void outro(Person person){...} : Exécutée une fois en fin de programme.

Pour plus de renseignements, vous pouvez aller jetter un oeil du côté de la JavaDoc ou bien aller voir le code source d'autres programmes.

Intégration

Dans le fichier Program.java qui se trouve dans le paquet fr.B4D.program. Vous devez ajouter votre programme à la liste des programmes en ajoutant la ligne programs.add(MA_CLASSE.MON_PROGRAMME).


Dans ton programme, tu auras surement besoin d'utiliser les APIs pour communiquer, échanger, te déplacer...

Clone this wiki locally