Slick2d, leçon 21 :: Les combats aux tour par tour (6/6)

12 September 2016 09:30 Slick2d - Leçons 20-29 Java, Jeux, Slick2d, Tutorial

Après une longue pause voici enfin le 6ieme et dernier article sur les combats aux tour par tour. Dans celui-ci nous verrons comment changer la musique au début et en fin de combat. Cette méthode permet également de déclencher des "choses" quand on change d'état. Comme cela fait un moment que je n'ai pas écris de tuto, il se peut que le style change un peu, les fautes d'orthographes resterons.

Actuellement la musique se charge au lancement du jeux et ne change plus tout au long du jeux. Nous allons voir comment changer cela.

Préparation

J'ai trouvé quelques musiques sur OpenGameArt, celle-ci pour le combat et celle-ci pour la victoire. Comme précédemment, il faut convertir les musiques en OGG.

Rappel

Comme nous avons vu dans la leçon 7, pour charger et lire une musique de fond il nous suffisait de faire cela dans une des méthodes inits :

@Override
public void init() {
  Music background = new Music("sound/lost-in-the-meadows.ogg");
  background.loop();
}

MtgDb – Fait peau neuve

25 October 2015 08:05 Projets BDD, magic, mtg

Bonjour à tous,

Promis je ne suis pas mort, mais je travail sur d'autre projet en ce moment. Dernièrement j'ai entièrement refait ma base de donnée sur le jeu de carte Magic the Gathering.

  • Interface un peu plus simple
  • Possibilité d'ouvrir un compte et d'enregistrer ces Decks.
  • Plus d'éditions
  • Moteur de recherche toujours plus complet.

Je doit encore nettoyer un peu le code avant de le poussé sur github mais il le sera bientôt.

http://mtg.shionn.org

Il n'est pas encore fini, je pense qu'il manque des choses comme la gestion des limitations par format.

Slick2d, leçon 20 :: Les combats aux tour par tour (5/6)

17 May 2015 08:58 Slick2d - Leçons 20-29 Java, Jeux, Slick2d, Tutorial

Aujourd'hui on va voir comment ajouter un hud à notre combat par l'intermédiaire de bouton cliquable et une fenêtre de texte qui contiendra les logs du combat.

Préparation :: un bouton.

Comme pour la leçon 13 j'ai utilisé la ressource Golden UI trouvée OpenGameArt pour faire un bouton que voici :

bouton

Code :: BattleHud

Comme pour la leçon 13 créons une classe dédiée à l'affichage du hud BattleHud.

// Classe : BattleHud
public class BattleHud { 

  public void init(GameContainer container) throws SlickException { }
  
  public void render(GameContainer container, Graphics g) { }

}

Slick2d, leçon 19 :: Les combats aux tour par tour, (4/6)

19 April 2015 08:57 Slick2d - Leçons 10-19 Java, Jeux, Slick2d, Tutorial

Dans la leçon précédente nous avons vu comment faire une animation qui suit un courbe de bézier, pour rendre notre combat plus dynamique. Mais les animation se déclenchais en même temps pour le joueur et le monstre. Aujourd'hui on va voir comment résoudre ce problème à l'aide de listener.

Préparation ::  Listener ?

Qu'est-ce qu'un Listener ? Un listener c'est quelque chose qui écoute un événement, lorsque l'événement ce produit, alors on appel l'écouteur, c'est à dire le listener. C'est déjà ce qu'on utilise pour la gestion du clavier et de la manette.

J'ai fais évoluer SlickUtils, dans sa version 1.2, j'ai ajouté une interface AnimationListener et par la même la classe PathAnimation à évolué pour permettre d'y ajouter des points d'écoutes. PathAnimation a maintenant une méthode addListener(AnimationListener, long) permettant d'ajouter un point d'écoute à un certain point de l'animation. AnimationListener lui ne demande qu'une seul méthode on() qui sera appeler au point que l'on a demandé. Vous l'aurez compris, si vous n'avez pas la version 1.2 de SlickUtils, mettez-vous à jour.

Quel point d'écoute définir ? C'est un peu en fonction de ce que vous voulez. Moi j'ai choisis 2 points d'écoute pour le joueur.

  1. Quand le joueur arrive à la moitié de son attaque, je calcul les dégâts qu'il fait et je les assigne au monstre.
  2. Quand le joueur arrive à la fin de son mouvement d'attaque, je calcul si le monstre est mort et j'en déduis la suite du combat en fonction de la commande du joueur.

Callback Animation