每次调用函数时更改变量

时间:2015-11-21 16:14:58

标签: java mouseevent mouseclick-event

我正在努力制作简单的tic-tac-toe游戏。我有一个函数,每次我点击网格时都会放置一个符号。我有2个变量用于不同的符号xSymcirclSym。每次调用函数mouseClicked时,我都需要将放置的符号从一个更改为另一个。是否有可能在没有函数返回的情况下这样做?

public void mouseClicked(MouseEvent e) {
    int r = e.getY() / cellH;
    int c = e.getX() / cellW;
    print(r, c, (char)xSym);
    refresh();
}

1 个答案:

答案 0 :(得分:2)

创建一个boolean成员变量isX来表示当前状态。设置isX后,会选择xSym;否则,选择circleSym

每当最终用户点击您的应用时,请将isX的状态更改为相反的状态。您可以使用NOT !运算符,如下所示:

boolean isX = true; // X moves first
public void mouseClicked(MouseEvent e) {
    char currentSym = isX ? xSym : circleSym;
    isX = !isX; // Invert isX
    int r = e.getY() / cellH;
    int c = e.getX() / cellW;
    print(r, c, currentSym);
    refresh();
}

变量currentSym表示根据isX变量的值选择的当前符号。