Index de l'article

 

Du fait de la présence d'une interface graphique, il y a plus de besoins que dans le jeu en mode console. Après discussion avec nous-même, on établit le scénario suivant :

  • lancement de l'application => la fenêtre principale n'affiche qu'un panneau d'introduction,
  • lancement d'un partie, avec un joueur humain contre un joueur ordinateur,
  • fin de partie => affichage d'une boite de dialogue pour dire qui est le gagnant, et qui permet de quitter le jeu ou débuter d'une nouvelle partie.

Parallèlement, on choisit de maquetter le jeu comme suivant :

  • la fenêtre principale contient une barre de menu, avec un unique menu contenant les items : "Start game", "Introduction", "Exit".
  • le panneau d'introduction contient seulement le texte "The Hole".
  • la boite de dialogue de fin de partie contient un texte signalant qui gagne ou bien si la partie est nulle, ainsi que 2 boutons intitulés "Start Game" et "Exit"
  • le panneau de jeu est globalement divisé comme ci-dessous :
 nom du joueur courant liste pions noirs 
 grille 3x3 liste pions rouge

 

Le scénario d'une partie est le suivant :

  • le joueur humain est le premier joueur et reçoit les pions noirs, l'ordinateur les rouges.
  • lorsque c'est le tour de l'humain, il doit d'abord sélectionner un de ses pions en cliquant dessus. Le pion change d'apparence pour signaler qu'il est sélectionné.
  • si ce pion peut être placé, les cases possibles changent d'apparence.
  • si un pion est sélectionné et que le joueur re-clique dessus, il est désélectionné. Si c'est un autre pion, il ne se passe rien.
  • si un pion est sélectionné et que le joueur clique sur une case possible, le pion est déplacé dans cette case, via une animation graphique.
  • c'est ensuite au joueur ordinateur de jouer, qui décider quel pion jouer et où le mettre. La sélection de ce pion n'est pas visible. Seule l'animation de déplacement doit être faite.

A partir de ces élément, on peut établir une liste synthétique des fonctionnalités et de sous-fonctionnalités dont elles dépendent :

  • lancer une partie,
  • quitter le jeu,
  • revenir au panneau d'introduction,
  • construire le visuel du panneau d'introduction, du panneau de jeu, du dialogue final,
  • sélectionner un pion :
    • trouver la liste des éléments de jeu contenant les coordonnées d'un clic souris,
    • déterminer la liste des cases possibles pour ce pion,
    • faire changer l'apparence d'un pion pour indiquer qu'il est (dé)sélectionné.
    • faire changer l'apparence d'une case de la grille pour indiquer que c'est une case de destination (im)possible.
  • désélectionner un pion :
    • faire changer l'apparence d'un pour indiquer qu'il est (dé)sélectionné.
    • faire changer l'apparence d'une case de la grille pour indiquer que c'est une case de destination (im)possible.
  • mettre un pion dans une case possible :
    • trouver la liste des éléments de jeu contenant les coordonnées d'un clic souris,
    • trouver dans la grille quelle case est cliquée,
    • lancer une animation qui déplace visuellement le pion vers sa case de destination.
  • calculer un déplacement de pion (pour l'ordinateur)
  • détecter la fin de partie,
  • calculer le résultat de la partie.

 

Nous allons voir que grâce à Boardifier, l'essentiel de ces fonctionnalités sont écrites, soit totalement, soit presque entièrement. Qui plus est, si on réutilise le code du jeu en mode console, les trois dernières sont également déjà écrites.