コード例 #1
0
ファイル: Reversi.java プロジェクト: md1961/java_exercise
  private void doReverseOpponentsInBetweenExclusive(
      Cursor cursorFrom, Cursor cursorTo, Direction direction) {
    Cursor cursor = cursorFrom.getCopy();
    while (true) {
      cursor.moveIn(direction);
      if (cursor.isSameLocationWith(cursorTo)) {
        break;
      }

      board[cursor.getX()][cursor.getY()].toggleColor();
    }
  }
コード例 #2
0
ファイル: Reversi.java プロジェクト: md1961/java_exercise
 private void reverseOpponents(Square target, Direction direction) {
   Square.Status color = target.getStatus();
   Cursor cursor = target.createCursor();
   while (true) {
     cursor.moveIn(direction);
     if (statusOn(cursor).isOpponent(color)) {
       continue;
     } else if (statusOn(cursor).isSameColor(color)) {
       doReverseOpponentsInBetweenExclusive(cursor.getOrigin(), cursor, direction);
     }
     break;
   }
 }