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());
*/
私が続けて2回Enterキーを押したらだから、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を使用していて、 'red 'シグナルを表示しません。まだバグがありますか? – jaykodeveloper