0
OthelloのゲームボードをJavaで初期化しようとしています。これは、光の部分に2人のプレーヤーの名前、暗い部分に設定プレイヤー1、プレイヤー2のためにユーザーに求める必要があるが、私は次のエラーを取得するコンパイルしようとすると:OthelloゲームボードのJavaでの初期化
Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - Erroneous sym type: core.Disc.setColor
at core.Board.initObjects(Board.java:44) "board[3][3].setColor(Constants.LIGHT);"
at core.Board.<init>(Board.java:24) "initObjects();"
at core.Game.initObjects(Game.java:30) "board = new Board();"
at core.Game.<init>(Game.java:25) "initObjects();"
at othello.Othello.main(Othello.java:17) "Game game = new Game();"
誰が何のいくつかの洞察を提供することができます何をする?何が間違っているのか分かりません
これはフォーマットが悪いと申し訳ありません。複数のJavaクラスをフォーマットする方法がわかりませんでした。
Board.java
package core;
// board class
public class Board {
// member variable board (always make access modifier 'private'
// Disc = data type (class)
private Disc[][] board;
// constructor (same name as class)
public Board(){
// method call for initObjects
initObjects();
}
private void initObjects(){
// declaring size of array // new is used to allocate memory
board = new Disc[Constants.ROWS][Constants.COLUMNS];
// looping and initializing board
for(int row = 0; row < Constants.ROWS; row++){
for (int col = 0; col < Constants.COLUMNS; col++){
// calling no argument constructor
// for class Disc
board[row][col] = new Disc();
}
}
// setColor is part of class Disc
board[3][3].setColor(Constants.LIGHT);
board[3][4].setColor(Constants.DARK);
board[4][3].setColor(Constants.DARK);
board[4][4].setColor(Constants.LIGHT);
}
/**
* @return the board
*/
public Disc[][] getBoard() {
return board;
}
/**
* @param board the board to set
*/
public void setBoard(Disc[][] board) {
this.board = board;
}
}
Constants.java
package core;
import java.awt.Color;
public class Constants {
public static Color DARK = Color.BLACK;
public static Color LIGHT = Color.WHITE;
public static int PLAYER_ONE = 0;
public static int PLAYER_TWO = 1;
public static int ROWS = 8;
public static int COLUMNS = 8;
public static int MAX_PLAYERS = 2;
}
Disc.java
package core;
import java.awt.Color;
public class Disc {
// member variable
private Color discColor;
/**
* @return the discColor
*/
public Color getDiscColor() {
return discColor;
}
/**
* @param discColor the discColor to set
*/
public void setDiscColor(Color discColor) {
this.discColor = discColor;
}
}
Game.java
package core;
import java.util.ArrayList;
import javax.swing.JOptionPane;
public class Game {
// member variables
private ArrayList<Player> players;
private Board board;
public Game(){
// initObjects method call
initObjects();
}
private void initObjects(){
board = new Board();
createPlayers();
printPlayers();
}
private void createPlayers(){
players = new ArrayList<Player>();
for(int i=0; i < 2; i++){
String name = JOptionPane.showInputDialog(null, "Enter player's name");
Player player = new Player();
player.setName(name);
if(i == Constants.PLAYER_ONE)
player.setDiscColor(Constants.DARK);
else if(i == Constants.PLAYER_TWO)
player.setDiscColor(Constants.LIGHT);
Player.add(players);
}
}
private void printPlayers()
{
System.out.println("The game has the following players:");
for(Player name : getPlayers())
{
System.out.println("Player " + name.getName() + " is playing disc color " + name.getDiscColor());
}
}
/**
* @return the players
*/
public ArrayList<Player> getPlayers() {
return players;
}
/**
* @param players the players to set
*/
public void setPlayers(ArrayList<Player> players) {
this.players = players;
}
/**
* @return the board
*/
public Board getBoard() {
return board;
}
/**
* @param board the board to set
*/
public void setBoard(Board board) {
this.board = board;
}
}
Player.java
package core;
import java.awt.Color;
public class Player {
private String name;
private Color discColor;
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the discColor
*/
public Color getDiscColor() {
return discColor;
}
/**
* @param discColor the discColor to set
*/
public void setDiscColor(Color discColor) {
this.discColor = discColor;
}
}
Othello.java
public class Othello {
public static void main(String[] args) {
Game game = new Game();
}
}