0
私は、ゲームがオセロにとって合法であるかどうかを確認しようとしています。私は、それは私が 'エラーを解決することはできません'を確認する変数を使用すると、各ループと一度(一度)のために使用しています。私はこれが起こる場所を太字にしました。誰も助けることができますか? (はい、私は私が最初にこのエラーを取り除くためにしようとしている、コードがまだ終了していないことを知っている。)このコードで「解決できません」というエラーが表示されるのはなぜですか?
public boolean isLegal(Location loc1)
{
String currentColor = currentPlayer.getColor();
boolean isLegal = false;
int row = loc1.getRow();
int col = loc1.getCol();
if(board.isValid(loc1))
{
if(board.get(loc1) == null)
{
for(Location tempLoc : board.getValidAdjacentLocations(loc1))
{
if(!board.get(tempLoc).equals(currentColor))
{
int tempRow = tempLoc.getRow();
if((row != tempLoc.getRow()) && (col == tempLoc.getCol()))
{
//count up column
if(**tempLoc.getRow()** < row)
{
for(int i = row; i > 1;)
{
Location tempLoc2 = new Location(i-2, col);
if(!board.get(tempLoc2).equals(currentColor))
{
i--;
}
else
{
i=-1;
isLegal = true;
}
}
}
//count down column
else
{
for(int i = row; i < 6;)
{
Location tempLoc2 = new Location(i+2, lcol);
if(!board.get(tempLoc2).equals(currentColor))
{
i++;
}
else
i=9;
isLegal = true;
}
}
}
else if(col != tempLoc.getCol() && row == tempLoc.getRow())
{
//count left/right row
if(col > tempLoc.getCol())
{
}
else
}
else
{ //count up/right & down/left diag
if(1!=0)
{
}
//count up/left & down/right diag
else
}
}
}
}
}
return isLegal;
}
おそらく2つのコンパイルエラーが下部の空の 'else'ステートメントにあります。これらを修正すれば何か変わるのですか? (例えば、それらの後ろに{}を置くことによって)コンパイラは、あなたのメソッドの中に何が含まれているのか混同することがあります。 –
それは実際にその問題を解決しました!ありがとうございました!なぜ私はそれを考えなかったのだろうか... ^^; – frozenxdreamer
@RussellZahniserあなたはそれを受け入れるためにこれを答えとして掲示するべきです。 –