Я делаю Othello
игру в java и имею проблему переключить другой игрок когда enter
нажал. Я объявила глобальную переменную public static int counter;
, которая будет увеличиваться при нажатии.Как работает глобальная переменная java?
Scanner s = new Scanner(System.in);
move = s.nextLine();
// enter to forfeit
if(move.equals("")){
if(counter%2 == 0){
whiteEnterForfeit = turn(board, "White", "W", "B");
printBoard(board);
counter++;
}
if(counter%2 == 1) {
blackEnterForfeit = turn(board, "Black", "B", "W");
printBoard(board);
counter++;
}
}
/* If coordinate is typed like 2,4 I will be recorded at right spot on the board.
else if(!move.equals("")){
StringTokenizer st = new StringTokenizer(move, ",");
rowMove = Integer.parseInt(st.nextToken());
colMove = Integer.parseInt(st.nextToken());
*/
Поэтому, как только я нажимаю войти дважды в строке, предполагается распечатать Black-White-Black
. Тем не менее, мой выдает Black-White-White.....
. То, что я думаю о глобальной переменной static
, заключается в том, что любые классы или методы могут получить доступ и изменить ее значение.
Я также увеличиваю counter
, когда каждый игрок успешно играет. Поскольку код более 300 строк, вы можете найти его на github (https://github.com/misonam03/TIL/blob/master/Java/Othello.java). Спасибо заранее!
пожалуйста ВЫВЕШУ SSCCE http://sscce.org ** здесь **, так что мы можем проанализировать вашу проблему. –
Что вы нашли, когда вы пробовали отладки? – shmosel
@shmosel Я использую eclipse и не вижу никакого «красного» сигнала. У него все еще есть ошибка? – jaykodeveloper