我对编码非常陌生,并且在最后一个项目的一部分中苦苦挣扎 . 该项目非常开放:制作图形化的Java应用程序 . 我选择了一个peg纸牌游戏,你可以从下图中看到:

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

包含类似于跳棋的游戏使用的类似“跳跃”部分的概念 . 这是我到目前为止制作的一块由7x7网格jbuttons组成的板,每块都使用方形图片代表板的一部分;虽然我有意留空按钮代替普通板上的空间 .

我遇到的问题是下一步,游戏逻辑本身;我正在试图找出如何实现一个系统,我可以点击一个挂钩,然后点击一个空的空间来“移动”挂钩(在这个例子中,只是将jbutton图像切换到'插槽' '方形) . 然而,游戏必须识别点击的空间是否被填充,点击的第二个空格是否为空,以及这两个空格之间的空间是否被填充 - 因为在这个游戏中,钉子只能移动另一个挂钩,只进入一个空的空间 .

钉子不能沿对角线移动,只能在四个罗盘方向上移动 . 我和教练的帮助把这个放在一起:

我试图添加它并弄清楚如何实现我上面描述的但我无法真正掌握它 . 我知道自己需要做什么,但却在如何执行它 . 这段代码允许我点击已识别的方块并“清空”它,并且还允许我点击空白区域以从该方块和第一个方块之间的方块中移除栓钉 .

但是我不知道用什么代码来识别空间是否被填充,或者代码甚至在空白空间和填充空间之间存在差异 . 我假设它是某种if语句和空格的名称,并且与当前正在使用的图片相关联(如果它是空洞图片或填充的插槽图片) . 然后是其他声明和......

嗯,就像我说的那样,我对这一切都很陌生,谷歌搜索这个主题并没有帮助我,因为我只有一半了解它,并且不知道如何翻译给我的项目所提供的信息 .

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(


    }

}