【问题标题】:15 puzzle game in javajava中的15个益智游戏
【发布时间】:2011-12-20 22:34:47
【问题描述】:

我正在用 java 创建一个 15 益智游戏。我已经创建了一个游戏面板并编写了一个方法来查找字段上空位置(不是 JButton)的位置,以及一个控制它是否是获胜组合的方法(正确位置上的 JButtons)。所以,我得到了这样的东西:

我在编写 ActionListener 时遇到了麻烦。是否可以编写一个方法来确定应该将 actionListener 添加到围绕空白空间的 JButtons 中。

我真的需要一些技巧或/可能已经写好的方法/解决方案。

谢谢!

【问题讨论】:

  • 我认为这是一个很好的问题,直到我读到“可能已经编写了方法/解决方案”。如果您以后省略它,您可能会得到更好的帮助/想法。
  • “所以,我得到了这样的结果:” 一张图片可能会画出一千个单词,但 SSCCE 会画出一张非常特定的图片.
  • @Andrew 如果我每发表一条评论都需要一美元,而我需要一个没有必要的 SSCCE,我可以退休。 :-) 它们在某些情况下很有用,但在这种情况下,OP 完全有能力在没有人的情况下解释他的问题。
  • @glowcoder “它们在某些情况下很有用,但在这种情况下,OP 完全有能力解释他的问题” 这只是发布 SSCCE 的众多原因之一是传递代码问题的有用方法。其他许多原因之一是他们可能还获得了一些关于如何在代码示例中实现它的技巧(作为答案)。如果我为每个对发布 SSCCE 发表负面评论而没有真正了解其内容的人有一美元,就可以退休了。 ;)

标签: java swing actionlistener


【解决方案1】:

我认为最好的办法是让动作监听器在所有按钮上保持活动状态。单击时,如果它确定自己不与空框相邻,则它什么也不做。

【讨论】:

  • 或者考虑移动整个行/列:所以如果他们点击上面的14,它就会变成空白,1、13和14都向左移动1个位置。
【解决方案2】:

我建议放弃仅将 actionListeners 添加到围绕空白区域的按钮的想法:将 actionListeners 添加到所有按钮,并且仅在有效时处理单击。

另外,根据我的经验,只允许点击空白区域周围的一个图块是非常不利于用户的。在示例图片中,您计划只允许点击 7、1 和 11。您应该允许点击 5、7、1、13、14 和 11。因此,例如,点击 14 应该移动 1 , 13 和 14 到左边。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-17
    • 1970-01-01
    • 2021-11-13
    • 2011-03-05
    • 1970-01-01
    • 1970-01-01
    • 2012-05-18
    • 1970-01-01
    相关资源
    最近更新 更多