java - 如何检查完整的列?

标签 java

我正在构建一个四子棋游戏,这是我的检查器:

 static final int ROWS = 6;

    public void checkIfFull(int colu)
{
    /*deleted*/
}

当用户单击按钮时调用此函数:

if (e.getSource () == b1)
    {
        checkIfFull (0);


    }

这是我将代币定位在最低开放水平的方法:

    public void setPos(int column)
{
    if (demise) return; //this is for when the game is already over and the user
still attempts to click on a button

    int row;
    for (row = 0; row < ROWS; ++row)
    {
        if (slots[row][column] > 0)
            break;
    }

    if (row > 0)
    {
        //save current player
        slots[--row][column] = active;
        //change turns
        /*if (active == GREEN)
        {
            active = RED;
            activeMe ();
        }
        else if (active == RED)
        {
            active = GREEN;
            activeMe();
        } I moved this to setCircle method*/

        setCircle(active, row, column); //gui method used to fill up the empty circle
    }


}

当我填写一栏时,Joptionpane 没有弹出,但它应该会弹出。

有什么线索吗?

我仍在不断研究我的逻辑,所以如果您发现其他缺陷,请指出。 :)

最佳答案

您应该检查 counter 是否等于 6,因为您已声明:

static final int ROWS = 6;

所以你必须检查一下:

if (counter == ROWS) // not 5

请注意,您正在与 ROWS 进行比较,而不是直接与 6 进行比较,以避免 "magic numbers" .

另外,在使用计数器之前不要忘记声明并初始化它:

int counter = 0;

关于java - 如何检查完整的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21654479/

相关文章:

java - 我正在尝试根据用户选择的日期过滤 firestore 内容。说显示 2 月 14 日的所有数据

java - 使用正则表达式获取字符串的首字母,同时保留标点符号和空格

java - 有没有办法在 Java 中创建另一个对象的集合(类似 LINQ)?

java - 重复 getter 调用的性能与在局部变量中保存值的性能

java - 基于Maven的Java应用程序的自动配置,版本控制和部署的可行方法是什么?

java - 不同版本 Android 中跨包的 protected 内部类可见性的差异

java - 屏幕右侧的抽屉?

java - 在 API 设计中避免原语?

java - 编码jboss 7

java - JMockit : Inspect local variables of a method