Boutons Peg Solitaire en Java


Je suis très nouveau dans le codage et je me bats avec une partie de mon projet final. Le projet est très ouvert: faire une application java graphique. J'ai choisi un jeu de solitaire peg, qui, comme vous le verrez sur l'image ci-dessous:

Http://i.imgur.com/dS65iZ2.jpg

Intègre un concept similaire de 'sauter' pièces qu'un jeu comme checkers utilise. C'est ce que j'ai fait jusqu'à présent, un tableau composé d'une grille 7x7 de jbuttons, chacun utilise une image carrée pour représenter un une partie du tableau; bien que j'ai laissé des boutons intentionnellement vides à la place des espaces qui seraient sur un tableau normal.

Le problème que j'ai rencontré est l'étape suivante, la logique du jeu elle-même; J'essaie de comprendre comment implémenter un système où je peux cliquer sur un peg, puis cliquer sur un espace vide pour "déplacer" le peg (Qui dans ce cas, serait simplement en train de passer l'image jbutton au carré "fendu"). Cependant, le jeu doit reconnaître si l'espace sur lequel vous avez cliqué est ou non rempli, que le deuxième espace cliqué soit vide ou non, et que l'espace ENTRE ces deux espaces soit rempli ou non - car dans ce jeu, les piquets ne peuvent se déplacer que sur un autre piquet, et seulement dans un espace vide.

Les chevilles ne peuvent pas se déplacer en diagonale, uniquement sur les quatre directions de la boussole. J'ai mis en place cela avec l'aide de mon instructeur:

J'ai essayé d'y ajouter et de comprendre comment implémenter ce que j'ai décrit ci-dessus mais je ne peux pas vraiment le saisir. Je sais ce que je dois faire, mais luttant sur la façon de l'exécuter. Ce code me permet de cliquer sur le carré identifié et de le "vider", et me permet également de cliquer sur l'espace vide pour supprimer la cheville du carré entre ce carré et le premier carré.

Mais je ne sais pas quel est le code pour identifier quand un espace est rempli ou non, ou le code pour même différer entre l'espace vide et l'espace rempli. Je suppose que c'est une sorte d'instruction if et le nom de l'espace et lié à quelle image est actuellement utilisé (si c'est le pic de trou vide ou le pic fendu rempli). Et puis une autre déclaration et...

Eh bien, comme je l'ai dit, je suis très nouveau dans tout cela, et la recherche Google sur le sujet ne m'aide pas car je ne le comprends qu'à moitié, et je ne sais pas comment traduire les informations données au projet que j'ai.

    private class ButtonHandler implements ActionListener

    {
        public void actionPerformed(ActionEvent event)

    {

        if(event.getSource() == boxEleven)
        boxEleven.setIcon(holePic);

        if(event.getSource() == boxTwentyFive)
{
    boxTwentyFive.setIcon(peggedHolePic);
    boxEighteen.setIcon(holePic);
}

    else if(event.getSource() == boxEleven)
    boxEleven.setIcon(


    }

}

Author: TheCeron, 2017-04-28