Checkers登上Java

时间:2016-02-05 23:02:28

标签: java

作为一个班级,我们在日食中创建了一个跳棋板。我想出了这个代码,但它没有显示一个跳棋板,它只有三个白色盒子,其余的是黑色。 这是我的代码:

import acm.program.*;
import acm.graphics.*;
import java.awt.*;

public class checkgame extends GraphicsProgram 
{
    private static final int ROWS = 8;

    private static final int COLUMS = 8;

    public void run()
    {
        int sqSize = getHeight() / ROWS;
        for (int i = 0; i<ROWS; i++)
        {
            for (int j = 0; j<COLUMS; j++)
            {
                int x = j*sqSize;
                int y = i*sqSize;
                GRect sq = new GRect (x,y,sqSize,sqSize);
                sq.setFilled(((i+j)/2)!=0);
                add(sq);
            }
        }
    }
}

我出错的任何想法? 谢谢!

1 个答案:

答案 0 :(得分:1)

而不是

((i+j)/2)!=0

你想用

((i+j)%2)!=0

您的初始表达式恰好是真实的三倍(0,0 / 0,1 / 1,0),这就是您看到三个白框的原因。校正后的版本取决于(i + j)/ 2是奇数还是偶数 - 在这种情况下,模运算符是常见的选择。