我正在努力制作简单的tic-tac-toe游戏。我有一个函数,每次我点击网格时都会放置一个符号。我有2个变量用于不同的符号xSym
和circlSym
。每次调用函数mouseClicked
时,我都需要将放置的符号从一个更改为另一个。是否有可能在没有函数返回的情况下这样做?
public void mouseClicked(MouseEvent e) {
int r = e.getY() / cellH;
int c = e.getX() / cellW;
print(r, c, (char)xSym);
refresh();
}
答案 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
变量的值选择的当前符号。