From 5f6d97f57f7957ddf0bebb2ee5f53ccaee199573 Mon Sep 17 00:00:00 2001 From: AmirMohammad Hosseini Nasab Date: Thu, 6 Jun 2024 11:35:00 +0330 Subject: [PATCH] doc: Add JavaDoc static sources html --- docs/allclasses-index.html | 218 +++ docs/allpackages-index.html | 78 + docs/com/amirhn/GUI/ChessController.html | 335 +++++ docs/com/amirhn/GUI/ChessFrame.html | 231 +++ docs/com/amirhn/GUI/ChessMenuBar.html | 255 ++++ docs/com/amirhn/GUI/ChessMenuController.html | 182 +++ .../com/amirhn/GUI/Components/BoardPanel.html | 447 ++++++ .../amirhn/GUI/Components/LocationPanel.html | 281 ++++ .../amirhn/GUI/Components/LocationState.html | 292 ++++ .../amirhn/GUI/Components/PieceImageIcon.html | 191 +++ .../com/amirhn/GUI/Components/PiecePanel.html | 256 ++++ .../com/amirhn/GUI/Components/TablePanel.html | 326 +++++ .../GUI/Components/package-summary.html | 128 ++ .../amirhn/GUI/Components/package-tree.html | 113 ++ docs/com/amirhn/GUI/Constants.html | 350 +++++ .../GUI/Listeners/LocationListener.html | 200 +++ .../amirhn/GUI/Listeners/package-summary.html | 106 ++ .../amirhn/GUI/Listeners/package-tree.html | 67 + docs/com/amirhn/GUI/package-summary.html | 134 ++ docs/com/amirhn/GUI/package-tree.html | 108 ++ docs/com/amirhn/Game/Board.html | 438 ++++++ docs/com/amirhn/Game/Chess.html | 590 ++++++++ docs/com/amirhn/Game/Color.html | 340 +++++ docs/com/amirhn/Game/Location.html | 350 +++++ docs/com/amirhn/Game/Scene.html | 226 +++ docs/com/amirhn/Game/Status.html | 260 ++++ docs/com/amirhn/Game/package-summary.html | 134 ++ docs/com/amirhn/Game/package-tree.html | 89 ++ docs/com/amirhn/Main.html | 180 +++ docs/com/amirhn/Moves/Capture.html | 354 +++++ docs/com/amirhn/Moves/Castling.html | 386 +++++ docs/com/amirhn/Moves/EnPassant.html | 357 +++++ docs/com/amirhn/Moves/LongCastling.html | 211 +++ docs/com/amirhn/Moves/Move.html | 324 +++++ docs/com/amirhn/Moves/MoveType.html | 260 ++++ docs/com/amirhn/Moves/PawnPromotion.html | 233 +++ docs/com/amirhn/Moves/Promotion.html | 342 +++++ docs/com/amirhn/Moves/ShortCastling.html | 211 +++ docs/com/amirhn/Moves/Walk.html | 338 +++++ docs/com/amirhn/Moves/package-summary.html | 150 ++ docs/com/amirhn/Moves/package-tree.html | 105 ++ docs/com/amirhn/Pieces/Bishop.html | 208 +++ docs/com/amirhn/Pieces/King.html | 248 ++++ docs/com/amirhn/Pieces/Knight.html | 208 +++ docs/com/amirhn/Pieces/Pawn.html | 254 ++++ docs/com/amirhn/Pieces/Piece.html | 548 +++++++ docs/com/amirhn/Pieces/PieceType.html | 362 +++++ docs/com/amirhn/Pieces/Queen.html | 260 ++++ docs/com/amirhn/Pieces/Rook.html | 208 +++ docs/com/amirhn/Pieces/package-summary.html | 142 ++ docs/com/amirhn/Pieces/package-tree.html | 94 ++ docs/com/amirhn/Players/Player.html | 429 ++++++ docs/com/amirhn/Players/package-summary.html | 112 ++ docs/com/amirhn/Players/package-tree.html | 71 + docs/com/amirhn/package-summary.html | 112 ++ docs/com/amirhn/package-tree.html | 71 + docs/constant-values.html | 104 ++ docs/copy.svg | 33 + docs/element-list | 8 + docs/help-doc.html | 193 +++ docs/index-files/index-1.html | 109 ++ docs/index-files/index-10.html | 93 ++ docs/index-files/index-11.html | 149 ++ docs/index-files/index-12.html | 131 ++ docs/index-files/index-13.html | 73 + docs/index-files/index-14.html | 73 + docs/index-files/index-15.html | 157 ++ docs/index-files/index-16.html | 73 + docs/index-files/index-17.html | 113 ++ docs/index-files/index-18.html | 169 +++ docs/index-files/index-19.html | 129 ++ docs/index-files/index-2.html | 101 ++ docs/index-files/index-20.html | 97 ++ docs/index-files/index-21.html | 126 ++ docs/index-files/index-22.html | 81 ++ docs/index-files/index-23.html | 65 + docs/index-files/index-3.html | 199 +++ docs/index-files/index-4.html | 85 ++ docs/index-files/index-5.html | 85 ++ docs/index-files/index-6.html | 69 + docs/index-files/index-7.html | 273 ++++ docs/index-files/index-8.html | 85 ++ docs/index-files/index-9.html | 161 +++ docs/index.html | 77 + docs/legal/ADDITIONAL_LICENSE_INFO | 37 + docs/legal/ASSEMBLY_EXCEPTION | 27 + docs/legal/LICENSE | 347 +++++ docs/legal/jquery.md | 72 + docs/legal/jqueryUI.md | 49 + docs/link.svg | 31 + docs/member-search-index.js | 1 + docs/module-search-index.js | 1 + docs/overview-summary.html | 26 + docs/overview-tree.html | 188 +++ docs/package-search-index.js | 1 + docs/resources/glass.png | Bin 0 -> 499 bytes docs/resources/x.png | Bin 0 -> 394 bytes docs/script-dir/jquery-3.6.1.min.js | 2 + docs/script-dir/jquery-ui.min.css | 6 + docs/script-dir/jquery-ui.min.js | 6 + docs/script.js | 253 ++++ docs/search-page.js | 284 ++++ docs/search.html | 72 + docs/search.js | 458 ++++++ docs/serialized-form.html | 213 +++ docs/stylesheet.css | 1272 +++++++++++++++++ docs/tag-search-index.js | 1 + docs/type-search-index.js | 1 + .../java/com/amirhn/GUI/ChessController.java | 40 +- src/main/java/com/amirhn/GUI/ChessFrame.java | 10 +- .../java/com/amirhn/GUI/ChessMenuBar.java | 8 +- .../com/amirhn/GUI/ChessMenuController.java | 28 +- .../com/amirhn/GUI/Components/BoardPanel.java | 38 +- .../amirhn/GUI/Components/LocationPanel.java | 15 +- .../amirhn/GUI/Components/LocationState.java | 34 +- .../amirhn/GUI/Components/PieceImageIcon.java | 6 +- .../com/amirhn/GUI/Components/PiecePanel.java | 19 +- .../com/amirhn/GUI/Components/TablePanel.java | 20 +- src/main/java/com/amirhn/GUI/Constants.java | 91 +- .../GUI/Listeners/LocationListener.java | 12 +- src/main/java/com/amirhn/Game/Board.java | 48 +- src/main/java/com/amirhn/Game/Chess.java | 96 +- src/main/java/com/amirhn/Game/Color.java | 40 +- src/main/java/com/amirhn/Game/Location.java | 31 +- src/main/java/com/amirhn/Game/Scene.java | 12 +- src/main/java/com/amirhn/Game/Status.java | 28 +- src/main/java/{ => com/amirhn}/Main.java | 8 +- src/main/java/com/amirhn/Moves/Capture.java | 31 +- src/main/java/com/amirhn/Moves/Castling.java | 45 +- src/main/java/com/amirhn/Moves/EnPassant.java | 38 +- .../java/com/amirhn/Moves/LongCastling.java | 8 +- src/main/java/com/amirhn/Moves/Move.java | 31 +- src/main/java/com/amirhn/Moves/MoveType.java | 28 +- .../java/com/amirhn/Moves/PawnPromotion.java | 10 +- src/main/java/com/amirhn/Moves/Promotion.java | 31 +- .../java/com/amirhn/Moves/ShortCastling.java | 8 +- src/main/java/com/amirhn/Moves/Walk.java | 31 +- src/main/java/com/amirhn/Pieces/Bishop.java | 8 +- src/main/java/com/amirhn/Pieces/King.java | 12 +- src/main/java/com/amirhn/Pieces/Knight.java | 8 +- src/main/java/com/amirhn/Pieces/Pawn.java | 16 +- src/main/java/com/amirhn/Pieces/Piece.java | 71 +- .../java/com/amirhn/Pieces/PieceType.java | 57 +- src/main/java/com/amirhn/Pieces/Queen.java | 18 +- src/main/java/com/amirhn/Pieces/Rook.java | 8 +- src/main/java/com/amirhn/Players/Player.java | 48 +- src/test/java/com/amirhn/Game/BoardTest.java | 10 + .../java/com/amirhn/Moves/CaptureTest.java | 3 + 148 files changed, 20411 insertions(+), 655 deletions(-) create mode 100644 docs/allclasses-index.html create mode 100644 docs/allpackages-index.html create mode 100644 docs/com/amirhn/GUI/ChessController.html create mode 100644 docs/com/amirhn/GUI/ChessFrame.html create mode 100644 docs/com/amirhn/GUI/ChessMenuBar.html create mode 100644 docs/com/amirhn/GUI/ChessMenuController.html create mode 100644 docs/com/amirhn/GUI/Components/BoardPanel.html create mode 100644 docs/com/amirhn/GUI/Components/LocationPanel.html create mode 100644 docs/com/amirhn/GUI/Components/LocationState.html create mode 100644 docs/com/amirhn/GUI/Components/PieceImageIcon.html create mode 100644 docs/com/amirhn/GUI/Components/PiecePanel.html create mode 100644 docs/com/amirhn/GUI/Components/TablePanel.html create mode 100644 docs/com/amirhn/GUI/Components/package-summary.html create mode 100644 docs/com/amirhn/GUI/Components/package-tree.html create mode 100644 docs/com/amirhn/GUI/Constants.html create mode 100644 docs/com/amirhn/GUI/Listeners/LocationListener.html create mode 100644 docs/com/amirhn/GUI/Listeners/package-summary.html create mode 100644 docs/com/amirhn/GUI/Listeners/package-tree.html create mode 100644 docs/com/amirhn/GUI/package-summary.html create mode 100644 docs/com/amirhn/GUI/package-tree.html create mode 100644 docs/com/amirhn/Game/Board.html create mode 100644 docs/com/amirhn/Game/Chess.html create mode 100644 docs/com/amirhn/Game/Color.html create mode 100644 docs/com/amirhn/Game/Location.html create mode 100644 docs/com/amirhn/Game/Scene.html create mode 100644 docs/com/amirhn/Game/Status.html create mode 100644 docs/com/amirhn/Game/package-summary.html create mode 100644 docs/com/amirhn/Game/package-tree.html create mode 100644 docs/com/amirhn/Main.html create mode 100644 docs/com/amirhn/Moves/Capture.html create mode 100644 docs/com/amirhn/Moves/Castling.html create mode 100644 docs/com/amirhn/Moves/EnPassant.html create mode 100644 docs/com/amirhn/Moves/LongCastling.html create mode 100644 docs/com/amirhn/Moves/Move.html create mode 100644 docs/com/amirhn/Moves/MoveType.html create mode 100644 docs/com/amirhn/Moves/PawnPromotion.html create mode 100644 docs/com/amirhn/Moves/Promotion.html create mode 100644 docs/com/amirhn/Moves/ShortCastling.html create mode 100644 docs/com/amirhn/Moves/Walk.html create mode 100644 docs/com/amirhn/Moves/package-summary.html create mode 100644 docs/com/amirhn/Moves/package-tree.html create mode 100644 docs/com/amirhn/Pieces/Bishop.html create mode 100644 docs/com/amirhn/Pieces/King.html create mode 100644 docs/com/amirhn/Pieces/Knight.html create mode 100644 docs/com/amirhn/Pieces/Pawn.html create mode 100644 docs/com/amirhn/Pieces/Piece.html create mode 100644 docs/com/amirhn/Pieces/PieceType.html create mode 100644 docs/com/amirhn/Pieces/Queen.html create mode 100644 docs/com/amirhn/Pieces/Rook.html create mode 100644 docs/com/amirhn/Pieces/package-summary.html create mode 100644 docs/com/amirhn/Pieces/package-tree.html create mode 100644 docs/com/amirhn/Players/Player.html create mode 100644 docs/com/amirhn/Players/package-summary.html create mode 100644 docs/com/amirhn/Players/package-tree.html create mode 100644 docs/com/amirhn/package-summary.html create mode 100644 docs/com/amirhn/package-tree.html create mode 100644 docs/constant-values.html create mode 100644 docs/copy.svg create mode 100644 docs/element-list create mode 100644 docs/help-doc.html create mode 100644 docs/index-files/index-1.html create mode 100644 docs/index-files/index-10.html create mode 100644 docs/index-files/index-11.html create mode 100644 docs/index-files/index-12.html create mode 100644 docs/index-files/index-13.html create mode 100644 docs/index-files/index-14.html create mode 100644 docs/index-files/index-15.html create mode 100644 docs/index-files/index-16.html create mode 100644 docs/index-files/index-17.html create mode 100644 docs/index-files/index-18.html create mode 100644 docs/index-files/index-19.html create mode 100644 docs/index-files/index-2.html create mode 100644 docs/index-files/index-20.html create mode 100644 docs/index-files/index-21.html create mode 100644 docs/index-files/index-22.html create mode 100644 docs/index-files/index-23.html create mode 100644 docs/index-files/index-3.html create mode 100644 docs/index-files/index-4.html create mode 100644 docs/index-files/index-5.html create mode 100644 docs/index-files/index-6.html create mode 100644 docs/index-files/index-7.html create mode 100644 docs/index-files/index-8.html create mode 100644 docs/index-files/index-9.html create mode 100644 docs/index.html create mode 100644 docs/legal/ADDITIONAL_LICENSE_INFO create mode 100644 docs/legal/ASSEMBLY_EXCEPTION create mode 100644 docs/legal/LICENSE create mode 100644 docs/legal/jquery.md create mode 100644 docs/legal/jqueryUI.md create mode 100644 docs/link.svg create mode 100644 docs/member-search-index.js create mode 100644 docs/module-search-index.js create mode 100644 docs/overview-summary.html create mode 100644 docs/overview-tree.html create mode 100644 docs/package-search-index.js create mode 100644 docs/resources/glass.png create mode 100644 docs/resources/x.png create mode 100644 docs/script-dir/jquery-3.6.1.min.js create mode 100644 docs/script-dir/jquery-ui.min.css create mode 100644 docs/script-dir/jquery-ui.min.js create mode 100644 docs/script.js create mode 100644 docs/search-page.js create mode 100644 docs/search.html create mode 100644 docs/search.js create mode 100644 docs/serialized-form.html create mode 100644 docs/stylesheet.css create mode 100644 docs/tag-search-index.js create mode 100644 docs/type-search-index.js rename src/main/java/{ => com/amirhn}/Main.java (79%) diff --git a/docs/allclasses-index.html b/docs/allclasses-index.html new file mode 100644 index 0000000..96d6fb7 --- /dev/null +++ b/docs/allclasses-index.html @@ -0,0 +1,218 @@ + + + + +All Classes and Interfaces + + + + + + + + + + + + + + +
+ +
+
+
+

All Classes and Interfaces

+
+
+
+
+
+
Class
+
Description
+ +
+
The type Bishop.
+
+ +
+
The type Board.
+
+ +
+
The type Board panel.
+
+ +
+
The type Capture.
+
+ +
+
The type Castling.
+
+ +
+
The type Chess.
+
+ +
+
The type Chess controller.
+
+ +
+
The type Chess frame.
+
+ +
+
The type Chess menu bar.
+
+ +
+
The interface Chess menu controller.
+
+ +
+
The enum Color.
+
+ +
+
The type Constants.
+
+ +
+
The type En passant.
+
+ +
+
The type King.
+
+ +
+
The type Knight.
+
+ +
+
The type Location.
+
+ +
+
The interface Location listener.
+
+ +
+
The type Location panel.
+
+ +
+
The enum Location state.
+
+ +
+
The type Long castling.
+
+ +
+
The type com.amirhn.Main.
+
+ +
+
The type Move.
+
+ +
+
The enum Move type.
+
+ +
+
The type Pawn.
+
+ +
+
The type Pawn promotion.
+
+ +
+
The type Piece.
+
+ +
+
The type Piece image icon.
+
+ +
+
The type Piece panel.
+
+ +
+
The enum Piece type.
+
+ +
+
The type Player.
+
+ +
+
The type Promotion.
+
+ +
+
The type Queen.
+
+ +
+
The type Rook.
+
+ +
+
The type Scene.
+
+ +
+
The type Short castling.
+
+ +
+
The enum Status.
+
+ +
+
The type Table panel.
+
+ +
+
The type Walk.
+
+
+
+
+
+
+
+ + diff --git a/docs/allpackages-index.html b/docs/allpackages-index.html new file mode 100644 index 0000000..9a8ca3c --- /dev/null +++ b/docs/allpackages-index.html @@ -0,0 +1,78 @@ + + + + +All Packages + + + + + + + + + + + + + + +
+ +
+
+
+

All Packages

+
+
Package Summary
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/ChessController.html b/docs/com/amirhn/GUI/ChessController.html new file mode 100644 index 0000000..069fc7e --- /dev/null +++ b/docs/com/amirhn/GUI/ChessController.html @@ -0,0 +1,335 @@ + + + + +ChessController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ChessController

+
+
java.lang.Object +
com.amirhn.GUI.ChessController
+
+
+
+
All Implemented Interfaces:
+
ChessMenuController, LocationListener
+
+
+
public class ChessController +extends Object +implements LocationListener, ChessMenuController
+
The type Chess controller.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ChessController

      +
      public ChessController(Chess chess, + BoardPanel boardPanel)
      +
      Instantiates a new Chess controller.
      +
      +
      Parameters:
      +
      chess - the chess
      +
      boardPanel - the board panel
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applyRandomMove

      +
      public void applyRandomMove()
      +
      Apply random move.
      +
      +
      Specified by:
      +
      applyRandomMove in interface ChessMenuController
      +
      +
      +
    • +
    • +
      +

      applyMove

      +
      public boolean applyMove(Move move)
      +
      Apply move boolean.
      +
      +
      Parameters:
      +
      move - the move
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      locationSelected

      +
      public void locationSelected(Location location)
      +
      Location selected.
      +
      +
      Specified by:
      +
      locationSelected in interface LocationListener
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      locationGrabbed

      +
      public void locationGrabbed(Location location)
      +
      Location grabbed.
      +
      +
      Specified by:
      +
      locationGrabbed in interface LocationListener
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      locationDropped

      +
      public void locationDropped(Location location)
      +
      Location dropped.
      +
      +
      Specified by:
      +
      locationDropped in interface LocationListener
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      isLocationDraggable

      +
      public boolean isLocationDraggable(Location location)
      +
      Is location draggable boolean.
      +
      +
      Specified by:
      +
      isLocationDraggable in interface LocationListener
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      newGame

      +
      public void newGame()
      +
      New game.
      +
      +
      Specified by:
      +
      newGame in interface ChessMenuController
      +
      +
      +
    • +
    • +
      +

      loadFEN

      +
      public void loadFEN()
      +
      Load fen.
      +
      +
      Specified by:
      +
      loadFEN in interface ChessMenuController
      +
      +
      +
    • +
    • +
      +

      undoMove

      +
      public void undoMove()
      +
      Undo move.
      +
      +
      Specified by:
      +
      undoMove in interface ChessMenuController
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/ChessFrame.html b/docs/com/amirhn/GUI/ChessFrame.html new file mode 100644 index 0000000..8a00384 --- /dev/null +++ b/docs/com/amirhn/GUI/ChessFrame.html @@ -0,0 +1,231 @@ + + + + +ChessFrame + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ChessFrame

+
+ +
+
+
All Implemented Interfaces:
+
ImageObserver, MenuContainer, Serializable, Accessible, RootPaneContainer, WindowConstants
+
+
+
public class ChessFrame +extends JFrame
+
The type Chess frame.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ChessFrame

      +
      public ChessFrame()
      +
      Instantiates a new Chess frame.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/ChessMenuBar.html b/docs/com/amirhn/GUI/ChessMenuBar.html new file mode 100644 index 0000000..9b3430a --- /dev/null +++ b/docs/com/amirhn/GUI/ChessMenuBar.html @@ -0,0 +1,255 @@ + + + + +ChessMenuBar + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ChessMenuBar

+
+ +
+
+
All Implemented Interfaces:
+
ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, MenuElement
+
+
+
public class ChessMenuBar +extends JMenuBar +implements ActionListener
+
The type Chess menu bar.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ChessMenuBar

      +
      public ChessMenuBar(ChessMenuController controller)
      +
      Instantiates a new Chess menu bar.
      +
      +
      Parameters:
      +
      controller - the controller
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    + +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/ChessMenuController.html b/docs/com/amirhn/GUI/ChessMenuController.html new file mode 100644 index 0000000..f03a89e --- /dev/null +++ b/docs/com/amirhn/GUI/ChessMenuController.html @@ -0,0 +1,182 @@ + + + + +ChessMenuController + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface ChessMenuController

+
+
+
+
All Known Implementing Classes:
+
ChessController
+
+
+
public interface ChessMenuController
+
The interface Chess menu controller.
+
+
+
    + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    +
    void
    + +
    +
    Apply random move.
    +
    +
    void
    + +
    +
    Load fen.
    +
    +
    void
    + +
    +
    New game.
    +
    +
    void
    + +
    +
    Undo move.
    +
    +
    +
    +
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      newGame

      +
      void newGame()
      +
      New game.
      +
      +
    • +
    • +
      +

      loadFEN

      +
      void loadFEN()
      +
      Load fen.
      +
      +
    • +
    • +
      +

      undoMove

      +
      void undoMove()
      +
      Undo move.
      +
      +
    • +
    • +
      +

      applyRandomMove

      +
      void applyRandomMove()
      +
      Apply random move.
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/BoardPanel.html b/docs/com/amirhn/GUI/Components/BoardPanel.html new file mode 100644 index 0000000..19d57c3 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/BoardPanel.html @@ -0,0 +1,447 @@ + + + + +BoardPanel + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class BoardPanel

+
+ +
+
+
All Implemented Interfaces:
+
MouseListener, MouseMotionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible
+
+
+
public class BoardPanel +extends JLayeredPane +implements MouseMotionListener, MouseListener
+
The type Board panel.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      BoardPanel

      +
      public BoardPanel(int rows, + int columns)
      +
      Instantiates a new Board panel.
      +
      +
      Parameters:
      +
      rows - the rows
      +
      columns - the columns
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setLocationListener

      +
      public void setLocationListener(LocationListener locationListener)
      +
      Sets location listener.
      +
      +
      Parameters:
      +
      locationListener - the location listener
      +
      +
      +
    • +
    • +
      +

      addPiecePanel

      +
      public void addPiecePanel(PiecePanel piecePanel, + Location location)
      +
      Add piece panel.
      +
      +
      Parameters:
      +
      piecePanel - the piece panel
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      removePiecePanels

      +
      public void removePiecePanels()
      +
      Remove piece panels.
      +
      +
    • +
    • +
      +

      resetLocationStates

      +
      public void resetLocationStates()
      +
      Reset location states.
      +
      +
    • +
    • +
      +

      setLocationState

      +
      public void setLocationState(Location location, + LocationState state)
      +
      Sets location state.
      +
      +
      Parameters:
      +
      location - the location
      +
      state - the state
      +
      +
      +
    • +
    • +
      +

      mouseDragged

      +
      public void mouseDragged(MouseEvent e)
      +
      Mouse dragged.
      +
      +
      Specified by:
      +
      mouseDragged in interface MouseMotionListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mouseMoved

      +
      public void mouseMoved(MouseEvent e)
      +
      Mouse moved.
      +
      +
      Specified by:
      +
      mouseMoved in interface MouseMotionListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mouseClicked

      +
      public void mouseClicked(MouseEvent e)
      +
      Mouse clicked.
      +
      +
      Specified by:
      +
      mouseClicked in interface MouseListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mousePressed

      +
      public void mousePressed(MouseEvent e)
      +
      Mouse pressed.
      +
      +
      Specified by:
      +
      mousePressed in interface MouseListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mouseReleased

      +
      public void mouseReleased(MouseEvent e)
      +
      Mouse released.
      +
      +
      Specified by:
      +
      mouseReleased in interface MouseListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mouseEntered

      +
      public void mouseEntered(MouseEvent e)
      +
      Mouse entered.
      +
      +
      Specified by:
      +
      mouseEntered in interface MouseListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    • +
      +

      mouseExited

      +
      public void mouseExited(MouseEvent e)
      +
      Mouse exited.
      +
      +
      Specified by:
      +
      mouseExited in interface MouseListener
      +
      Parameters:
      +
      e - the e
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/LocationPanel.html b/docs/com/amirhn/GUI/Components/LocationPanel.html new file mode 100644 index 0000000..5d3df37 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/LocationPanel.html @@ -0,0 +1,281 @@ + + + + +LocationPanel + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LocationPanel

+
+ +
+
+
All Implemented Interfaces:
+
ImageObserver, MenuContainer, Serializable, Accessible
+
+
+
public class LocationPanel +extends JLayeredPane
+
The type Location panel.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      Size

      +
      public static final Dimension Size
      +
      The constant Size.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LocationPanel

      +
      public LocationPanel(boolean isLight)
      +
      Instantiates a new Location panel.
      +
      +
      Parameters:
      +
      isLight - the is light
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setState

      +
      public void setState(LocationState state)
      +
      Sets state.
      +
      +
      Parameters:
      +
      state - the state
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/LocationState.html b/docs/com/amirhn/GUI/Components/LocationState.html new file mode 100644 index 0000000..bb39061 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/LocationState.html @@ -0,0 +1,292 @@ + + + + +LocationState + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class LocationState

+
+
java.lang.Object +
java.lang.Enum<LocationState> +
com.amirhn.GUI.Components.LocationState
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<LocationState>, Constable
+
+
+
public enum LocationState +extends Enum<LocationState>
+
The enum Location state.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      LASTMOVE

      +
      public static final LocationState LASTMOVE
      +
      Lastmove location state.
      +
      +
    • +
    • +
      +

      SELECTED

      +
      public static final LocationState SELECTED
      +
      Selected location state.
      +
      +
    • +
    • +
      +

      SUGGESTED

      +
      public static final LocationState SUGGESTED
      +
      Suggested location state.
      +
      +
    • +
    • +
      +

      NORMAL

      +
      public static final LocationState NORMAL
      +
      Normal location state.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      color

      +
      public final Color color
      +
      The Color.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static LocationState[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static LocationState valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/PieceImageIcon.html b/docs/com/amirhn/GUI/Components/PieceImageIcon.html new file mode 100644 index 0000000..8a00bd5 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/PieceImageIcon.html @@ -0,0 +1,191 @@ + + + + +PieceImageIcon + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PieceImageIcon

+
+
java.lang.Object +
javax.swing.ImageIcon +
com.amirhn.GUI.Components.PieceImageIcon
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Accessible, Icon
+
+
+
public class PieceImageIcon +extends ImageIcon
+
The type Piece image icon.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PieceImageIcon

      +
      public PieceImageIcon(String color, + char typeLetter)
      +
      Instantiates a new Piece image icon.
      +
      +
      Parameters:
      +
      color - the color
      +
      typeLetter - the type letter
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/PiecePanel.html b/docs/com/amirhn/GUI/Components/PiecePanel.html new file mode 100644 index 0000000..b373275 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/PiecePanel.html @@ -0,0 +1,256 @@ + + + + +PiecePanel + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PiecePanel

+
+ +
+
+
All Implemented Interfaces:
+
ImageObserver, MenuContainer, Serializable, Accessible
+
+
+
public class PiecePanel +extends JPanel
+
The type Piece panel.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      Size

      +
      public static final Dimension Size
      +
      The constant Size.
      +
      +
    • +
    • +
      +

      label

      +
      public JLabel label
      +
      The Label.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PiecePanel

      +
      public PiecePanel(PieceImageIcon icon)
      +
      Instantiates a new Piece panel.
      +
      +
      Parameters:
      +
      icon - the icon
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/TablePanel.html b/docs/com/amirhn/GUI/Components/TablePanel.html new file mode 100644 index 0000000..1ed1e98 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/TablePanel.html @@ -0,0 +1,326 @@ + + + + +TablePanel + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class TablePanel

+
+ +
+
+
All Implemented Interfaces:
+
ImageObserver, MenuContainer, Serializable, Accessible
+
+
+
public class TablePanel +extends JPanel
+
The type Table panel.
+
+
See Also:
+
+ +
+
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      TablePanel

      +
      public TablePanel(int rows, + int columns)
      +
      Instantiates a new Table panel.
      +
      +
      Parameters:
      +
      rows - the rows
      +
      columns - the columns
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getLocationPanel

      +
      public LocationPanel getLocationPanel(Location location)
      +
      Gets location panel.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the location panel
      +
      +
      +
    • +
    • +
      +

      getLocationPanel

      +
      public LocationPanel getLocationPanel(int i, + int j)
      +
      Gets location panel.
      +
      +
      Parameters:
      +
      i - the
      +
      j - the j
      +
      Returns:
      +
      the location panel
      +
      +
      +
    • +
    • +
      +

      resetLocationStates

      +
      public void resetLocationStates()
      +
      Reset location states.
      +
      +
    • +
    • +
      +

      pointOf

      +
      public Point pointOf(Location location)
      +
      Point of point.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the point
      +
      +
      +
    • +
    • +
      +

      locationOf

      +
      public Location locationOf(Point point)
      +
      Location of location.
      +
      +
      Parameters:
      +
      point - the point
      +
      Returns:
      +
      the location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/package-summary.html b/docs/com/amirhn/GUI/Components/package-summary.html new file mode 100644 index 0000000..81682bc --- /dev/null +++ b/docs/com/amirhn/GUI/Components/package-summary.html @@ -0,0 +1,128 @@ + + + + +com.amirhn.GUI.Components + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.GUI.Components

+
+
+
package com.amirhn.GUI.Components
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/GUI/Components/package-tree.html b/docs/com/amirhn/GUI/Components/package-tree.html new file mode 100644 index 0000000..f15ab22 --- /dev/null +++ b/docs/com/amirhn/GUI/Components/package-tree.html @@ -0,0 +1,113 @@ + + + + +com.amirhn.GUI.Components Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.GUI.Components

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/GUI/Constants.html b/docs/com/amirhn/GUI/Constants.html new file mode 100644 index 0000000..e147b31 --- /dev/null +++ b/docs/com/amirhn/GUI/Constants.html @@ -0,0 +1,350 @@ + + + + +Constants + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Constants

+
+
java.lang.Object +
com.amirhn.GUI.Constants
+
+
+
+
public class Constants +extends Object
+
The type Constants.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      PieceSize

      +
      public static final Dimension PieceSize
      +
      The constant PieceSize.
      +
      +
    • +
    • +
      +

      TileSize

      +
      public static final Dimension TileSize
      +
      The constant TileSize.
      +
      +
    • +
    • +
      +

      LightTileColor

      +
      public static final Color LightTileColor
      +
      The constant LightTileColor.
      +
      +
    • +
    • +
      +

      DarkTileColor

      +
      public static final Color DarkTileColor
      +
      The constant DarkTileColor.
      +
      +
    • +
    • +
      +

      YellowGreenColor

      +
      public static final Color YellowGreenColor
      +
      The constant YellowGreenColor.
      +
      +
    • +
    • +
      +

      GreenColor

      +
      public static final Color GreenColor
      +
      The constant GreenColor.
      +
      +
    • +
    • +
      +

      TransparentColor

      +
      public static final Color TransparentColor
      +
      The constant TransparentColor.
      +
      +
    • +
    • +
      +

      GameTitle

      +
      public static final String GameTitle
      +
      The constant GameTitle.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      PieceImageDirectory

      +
      public static final String PieceImageDirectory
      +
      The constant PieceImageDirectory.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      SoundDirectory

      +
      public static final String SoundDirectory
      +
      The constant SoundDirectory.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      MoveSoundPath

      +
      public static final String MoveSoundPath
      +
      The constant MoveSoundPath.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      CaptureSoundPath

      +
      public static final String CaptureSoundPath
      +
      The constant CaptureSoundPath.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Constants

      +
      public Constants()
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Listeners/LocationListener.html b/docs/com/amirhn/GUI/Listeners/LocationListener.html new file mode 100644 index 0000000..e8a6c0b --- /dev/null +++ b/docs/com/amirhn/GUI/Listeners/LocationListener.html @@ -0,0 +1,200 @@ + + + + +LocationListener + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Interface LocationListener

+
+
+
+
All Known Implementing Classes:
+
ChessController
+
+
+
public interface LocationListener
+
The interface Location listener.
+
+
+ +
+
+
    + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      locationSelected

      +
      void locationSelected(Location location)
      +
      Location selected.
      +
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      locationGrabbed

      +
      void locationGrabbed(Location location)
      +
      Location grabbed.
      +
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      locationDropped

      +
      void locationDropped(Location location)
      +
      Location dropped.
      +
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      isLocationDraggable

      +
      boolean isLocationDraggable(Location location)
      +
      Is location draggable boolean.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/GUI/Listeners/package-summary.html b/docs/com/amirhn/GUI/Listeners/package-summary.html new file mode 100644 index 0000000..6376bff --- /dev/null +++ b/docs/com/amirhn/GUI/Listeners/package-summary.html @@ -0,0 +1,106 @@ + + + + +com.amirhn.GUI.Listeners + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.GUI.Listeners

+
+
+
package com.amirhn.GUI.Listeners
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/GUI/Listeners/package-tree.html b/docs/com/amirhn/GUI/Listeners/package-tree.html new file mode 100644 index 0000000..f48cc78 --- /dev/null +++ b/docs/com/amirhn/GUI/Listeners/package-tree.html @@ -0,0 +1,67 @@ + + + + +com.amirhn.GUI.Listeners Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.GUI.Listeners

+
+Package Hierarchies: + +
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/GUI/package-summary.html b/docs/com/amirhn/GUI/package-summary.html new file mode 100644 index 0000000..a20cec0 --- /dev/null +++ b/docs/com/amirhn/GUI/package-summary.html @@ -0,0 +1,134 @@ + + + + +com.amirhn.GUI + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.GUI

+
+
+
package com.amirhn.GUI
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/GUI/package-tree.html b/docs/com/amirhn/GUI/package-tree.html new file mode 100644 index 0000000..980985c --- /dev/null +++ b/docs/com/amirhn/GUI/package-tree.html @@ -0,0 +1,108 @@ + + + + +com.amirhn.GUI Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.GUI

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Game/Board.html b/docs/com/amirhn/Game/Board.html new file mode 100644 index 0000000..a64e73a --- /dev/null +++ b/docs/com/amirhn/Game/Board.html @@ -0,0 +1,438 @@ + + + + +Board + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Board

+
+
java.lang.Object +
com.amirhn.Game.Board
+
+
+
+
public class Board +extends Object
+
The type Board.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      rows

      +
      public final int rows
      +
      The Rows.
      +
      +
    • +
    • +
      +

      columns

      +
      public final int columns
      +
      The Rows.
      +
      +
    • +
    • +
      +

      pieceByLocation

      +
      public final Map<Location,Piece> pieceByLocation
      +
      The Piece by location.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Board

      +
      public Board(int rows, + int columns)
      +
      Instantiates a new Board.
      +
      +
      Parameters:
      +
      rows - the rows
      +
      columns - the columns
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      fromFEN

      +
      public static Board fromFEN(String fen)
      +
      From fen board.
      +
      +
      Parameters:
      +
      fen - the fen
      +
      Returns:
      +
      the board
      +
      +
      +
    • +
    • +
      +

      setupFEN

      +
      public void setupFEN(String fen)
      +
      Sets fen.
      +
      +
      Parameters:
      +
      fen - the fen
      +
      +
      +
    • +
    • +
      +

      isValidLocation

      +
      public boolean isValidLocation(Location location)
      +
      Is valid location boolean.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isOccupied

      +
      public boolean isOccupied(Location location)
      +
      Is occupied boolean.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getPiece

      +
      public Piece getPiece(Location location)
      +
      Gets piece.
      +
      +
      Parameters:
      +
      location - the location
      +
      Returns:
      +
      the piece
      +
      +
      +
    • +
    • +
      +

      setPiece

      +
      public void setPiece(Piece piece)
      +
      Sets piece.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      +
      +
    • +
    • +
      +

      removePiece

      +
      public void removePiece(Piece piece)
      +
      Remove piece.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      +
      +
    • +
    • +
      +

      getAllPieces

      +
      public List<Piece> getAllPieces()
      +
      Gets all pieces.
      +
      +
      Returns:
      +
      the all pieces
      +
      +
      +
    • +
    • +
      +

      isValidPiece

      +
      public boolean isValidPiece(Piece piece)
      +
      Is valid piece boolean.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    • +
      +

      copy

      +
      public Board copy()
      +
      Copy board.
      +
      +
      Returns:
      +
      the board
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Equals boolean.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      o - the o
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/Chess.html b/docs/com/amirhn/Game/Chess.html new file mode 100644 index 0000000..2abb563 --- /dev/null +++ b/docs/com/amirhn/Game/Chess.html @@ -0,0 +1,590 @@ + + + + +Chess + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Chess

+
+
java.lang.Object +
com.amirhn.Game.Chess
+
+
+
+
public class Chess +extends Object
+
The type Chess.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      OriginalFen

      +
      public static final String OriginalFen
      +
      The constant OriginalFen.
      +
      +
      See Also:
      +
      + +
      +
      +
      +
    • +
    • +
      +

      whitePlayer

      +
      public Player whitePlayer
      +
      The White player.
      +
      +
    • +
    • +
      +

      blackPlayer

      +
      public Player blackPlayer
      +
      The Black player.
      +
      +
    • +
    • +
      +

      moves

      +
      public List<Move> moves
      +
      The Moves.
      +
      +
    • +
    • +
      +

      turn

      +
      public Color turn
      +
      The Turn.
      +
      +
    • +
    • +
      +

      history

      +
      public List<Scene> history
      +
      The History.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Chess

      +
      public Chess()
      +
      Instantiates a new Chess.
      +
      +
    • +
    • +
      +

      Chess

      +
      public Chess(String fen)
      +
      Instantiates a new Chess.
      +
      +
      Parameters:
      +
      fen - the fen
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setupFEN

      +
      public void setupFEN(String fen)
      +
      Sets fen.
      +
      +
      Parameters:
      +
      fen - the fen
      +
      +
      +
    • +
    • +
      +

      setPiece

      +
      public void setPiece(Piece piece)
      +
      Sets piece.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      +
      +
    • +
    • +
      +

      getBoard

      +
      public Board getBoard()
      +
      Gets board.
      +
      +
      Returns:
      +
      the board
      +
      +
      +
    • +
    • +
      +

      getTurnPlayer

      +
      public Player getTurnPlayer()
      +
      Gets turn player.
      +
      +
      Returns:
      +
      the turn player
      +
      +
      +
    • +
    • +
      +

      getOpponentPlayer

      +
      public Player getOpponentPlayer()
      +
      Gets opponent player.
      +
      +
      Returns:
      +
      the opponent player
      +
      +
      +
    • +
    • +
      +

      getPlayer

      +
      public Player getPlayer(Color color)
      +
      Gets player.
      +
      +
      Parameters:
      +
      color - the color
      +
      Returns:
      +
      the player
      +
      +
      +
    • +
    • +
      +

      getAllowedMoves

      +
      public List<Move> getAllowedMoves()
      +
      Gets allowed moves.
      +
      +
      Returns:
      +
      the allowed moves
      +
      +
      +
    • +
    • +
      +

      getRandomMove

      +
      public Move getRandomMove()
      +
      Gets random move.
      +
      +
      Returns:
      +
      the random move
      +
      +
      +
    • +
    • +
      +

      applyMove

      +
      public boolean applyMove(Move move)
      +
      Apply move boolean.
      +
      +
      Parameters:
      +
      move - the move
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isInCheck

      +
      public boolean isInCheck()
      +
      Is in check boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isCheckmate

      +
      public boolean isCheckmate()
      +
      Is checkmate boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isStalemate

      +
      public boolean isStalemate()
      +
      Is stalemate boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isThreefoldRepetition

      +
      public boolean isThreefoldRepetition()
      +
      Is threefold repetition boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      is50MoveRule

      +
      public boolean is50MoveRule()
      +
      Is 50 move rule boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isDraw

      +
      public boolean isDraw()
      +
      Is draw boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getStatus

      +
      public Status getStatus()
      +
      Gets status.
      +
      +
      Returns:
      +
      the status
      +
      +
      +
    • +
    • +
      +

      undoMove

      +
      public void undoMove()
      +
      Undo move.
      +
      +
    • +
    • +
      +

      moveFromString

      +
      public Move moveFromString(String moveString)
      +
      Move from string move.
      +
      +
      Parameters:
      +
      moveString - the move string
      +
      Returns:
      +
      the move
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/Color.html b/docs/com/amirhn/Game/Color.html new file mode 100644 index 0000000..4314e3f --- /dev/null +++ b/docs/com/amirhn/Game/Color.html @@ -0,0 +1,340 @@ + + + + +Color + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class Color

+
+
java.lang.Object +
java.lang.Enum<Color> +
com.amirhn.Game.Color
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Color>, Constable
+
+
+
public enum Color +extends Enum<Color>
+
The enum Color.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      BLACK

      +
      public static final Color BLACK
      +
      Black color.
      +
      +
    • +
    • +
      +

      WHITE

      +
      public static final Color WHITE
      +
      White color.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      direction

      +
      public final int direction
      +
      The Direction.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Color[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Color valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      valueOfPieceChar

      +
      public static Color valueOfPieceChar(char c)
      +
      Value of piece char color.
      +
      +
      Parameters:
      +
      c - the c
      +
      Returns:
      +
      the color
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Color valueOf(char c)
      +
      Value of color.
      +
      +
      Parameters:
      +
      c - the c
      +
      Returns:
      +
      the color
      +
      +
      +
    • +
    • +
      +

      fromString

      +
      public static Color fromString(String c)
      +
      From string color.
      +
      +
      Parameters:
      +
      c - the c
      +
      Returns:
      +
      the color
      +
      +
      +
    • +
    • +
      +

      opposite

      +
      public Color opposite()
      +
      Opposite color.
      +
      +
      Returns:
      +
      the color
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/Location.html b/docs/com/amirhn/Game/Location.html new file mode 100644 index 0000000..243ca61 --- /dev/null +++ b/docs/com/amirhn/Game/Location.html @@ -0,0 +1,350 @@ + + + + +Location + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Location

+
+
java.lang.Object +
com.amirhn.Game.Location
+
+
+
+
public class Location +extends Object
+
The type Location.
+
+
+
    + +
  • +
    +

    Field Summary

    +
    Fields
    +
    +
    Modifier and Type
    +
    Field
    +
    Description
    +
    final int
    + +
    +
    The Row.
    +
    +
    final int
    + +
    +
    The Row.
    +
    +
    +
    +
  • + +
  • +
    +

    Constructor Summary

    +
    Constructors
    +
    +
    Constructor
    +
    Description
    +
    Location(int row, + int column)
    +
    +
    Instantiates a new Location.
    +
    +
    +
    +
  • + +
  • +
    +

    Method Summary

    +
    +
    +
    +
    +
    Modifier and Type
    +
    Method
    +
    Description
    + +
    byOffset(int dx, + int dy)
    +
    +
    By offset location.
    +
    +
    boolean
    + +
    +
    Equals boolean.
    +
    +
    int
    + +
    +
    Hash code int.
    +
    +
    boolean
    + +
    +
    Is light boolean.
    +
    + + +
    +
    To string string.
    +
    +
    static Location
    +
    valueOf(int row, + int column)
    +
    +
    Value of location.
    +
    +
    static Location
    + +
    +
    Value of location.
    +
    +
    +
    +
    +
    +

    Methods inherited from class java.lang.Object

    +clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    +
    +
  • +
+
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      row

      +
      public final int row
      +
      The Row.
      +
      +
    • +
    • +
      +

      column

      +
      public final int column
      +
      The Row.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Location

      +
      public Location(int row, + int column)
      +
      Instantiates a new Location.
      +
      +
      Parameters:
      +
      row - the row
      +
      column - the column
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      valueOf

      +
      public static Location valueOf(String loc)
      +
      Value of location.
      +
      +
      Parameters:
      +
      loc - the loc
      +
      Returns:
      +
      the location
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Location valueOf(int row, + int column)
      +
      Value of location.
      +
      +
      Parameters:
      +
      row - the row
      +
      column - the column
      +
      Returns:
      +
      the location
      +
      +
      +
    • +
    • +
      +

      byOffset

      +
      public Location byOffset(int dx, + int dy)
      +
      By offset location.
      +
      +
      Parameters:
      +
      dx - the dx
      +
      dy - the dy
      +
      Returns:
      +
      the location
      +
      +
      +
    • +
    • +
      +

      isLight

      +
      public boolean isLight()
      +
      Is light boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Equals boolean.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      o - the o
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      Hash code int.
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      Returns:
      +
      the int
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/Scene.html b/docs/com/amirhn/Game/Scene.html new file mode 100644 index 0000000..ab3394f --- /dev/null +++ b/docs/com/amirhn/Game/Scene.html @@ -0,0 +1,226 @@ + + + + +Scene + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Scene

+
+
java.lang.Object +
com.amirhn.Game.Scene
+
+
+
+
public class Scene +extends Object
+
The type Scene.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Scene

      +
      public Scene(Board board, + Color turn)
      +
      Instantiates a new Scene.
      +
      +
      Parameters:
      +
      board - the board
      +
      turn - the turn
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getBoard

      +
      public Board getBoard()
      +
      Gets board.
      +
      +
      Returns:
      +
      the board
      +
      +
      +
    • +
    • +
      +

      getTurn

      +
      public Color getTurn()
      +
      Gets turn.
      +
      +
      Returns:
      +
      the turn
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Equals boolean.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      o - the o
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/Status.html b/docs/com/amirhn/Game/Status.html new file mode 100644 index 0000000..e5af71d --- /dev/null +++ b/docs/com/amirhn/Game/Status.html @@ -0,0 +1,260 @@ + + + + +Status + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class Status

+
+
java.lang.Object +
java.lang.Enum<Status> +
com.amirhn.Game.Status
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<Status>, Constable
+
+
+
public enum Status +extends Enum<Status>
+
The enum Status.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      ONGOING

      +
      public static final Status ONGOING
      +
      Ongoing status.
      +
      +
    • +
    • +
      +

      CHECKMATE

      +
      public static final Status CHECKMATE
      +
      Checkmate status.
      +
      +
    • +
    • +
      +

      STALEMATE

      +
      public static final Status STALEMATE
      +
      Stalemate status.
      +
      +
    • +
    • +
      +

      DRAW

      +
      public static final Status DRAW
      +
      Draw status.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static Status[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static Status valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Game/package-summary.html b/docs/com/amirhn/Game/package-summary.html new file mode 100644 index 0000000..72ed323 --- /dev/null +++ b/docs/com/amirhn/Game/package-summary.html @@ -0,0 +1,134 @@ + + + + +com.amirhn.Game + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.Game

+
+
+
package com.amirhn.Game
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Game/package-tree.html b/docs/com/amirhn/Game/package-tree.html new file mode 100644 index 0000000..e33fef2 --- /dev/null +++ b/docs/com/amirhn/Game/package-tree.html @@ -0,0 +1,89 @@ + + + + +com.amirhn.Game Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.Game

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Main.html b/docs/com/amirhn/Main.html new file mode 100644 index 0000000..0721ea8 --- /dev/null +++ b/docs/com/amirhn/Main.html @@ -0,0 +1,180 @@ + + + + +Main + + + + + + + + + + + + + + +
+ +
+
+ +
+
Package com.amirhn
+

Class Main

+
+
java.lang.Object +
com.amirhn.Main
+
+
+
+
public class Main +extends Object
+
The type com.amirhn.Main.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Main

      +
      public Main()
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      main

      +
      public static void main(String[] args)
      +
      The entry point of application.
      +
      +
      Parameters:
      +
      args - the input arguments
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/Capture.html b/docs/com/amirhn/Moves/Capture.html new file mode 100644 index 0000000..670db9d --- /dev/null +++ b/docs/com/amirhn/Moves/Capture.html @@ -0,0 +1,354 @@ + + + + +Capture + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Capture

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Capture
+
+
+
+
+
Direct Known Subclasses:
+
EnPassant
+
+
+
public class Capture +extends Move
+
The type Capture.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      source

      +
      public Location source
      +
      The Source.
      +
      +
    • +
    • +
      +

      destination

      +
      public Location destination
      +
      The Destination.
      +
      +
    • +
    • +
      +

      capturePiece

      +
      public Piece capturePiece
      +
      The Capture piece.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Capture

      +
      public Capture(Piece piece, + Piece capturePiece)
      +
      Instantiates a new Capture.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      capturePiece - the capture piece
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applyOnBoard

      +
      public boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Specified by:
      +
      applyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      public void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Specified by:
      +
      undoOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Specified by:
      +
      getEndpointLocation in class Move
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    • +
      +

      getStartpointLocation

      +
      public Location getStartpointLocation()
      +
      Gets startpoint location.
      +
      +
      Specified by:
      +
      getStartpointLocation in class Move
      +
      Returns:
      +
      the startpoint location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/Castling.html b/docs/com/amirhn/Moves/Castling.html new file mode 100644 index 0000000..53fd5e7 --- /dev/null +++ b/docs/com/amirhn/Moves/Castling.html @@ -0,0 +1,386 @@ + + + + +Castling + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Castling

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Castling
+
+
+
+
+
Direct Known Subclasses:
+
LongCastling, ShortCastling
+
+
+
public abstract class Castling +extends Move
+
The type Castling.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      kingMove

      +
      public Walk kingMove
      +
      The King move.
      +
      +
    • +
    • +
      +

      rookMove

      +
      public Walk rookMove
      +
      The King move.
      +
      +
    • +
    • +
      +

      king

      +
      public King king
      +
      The King.
      +
      +
    • +
    • +
      +

      rook

      +
      public Rook rook
      +
      The Rook.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Castling

      +
      public Castling(Walk kingMove, + Walk rookMove)
      +
      Instantiates a new Castling.
      +
      +
      Parameters:
      +
      kingMove - the king move
      +
      rookMove - the rook move
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      generate

      +
      public static Castling generate(King king, + Rook rook)
      +
      Generate castling.
      +
      +
      Parameters:
      +
      king - the king
      +
      rook - the rook
      +
      Returns:
      +
      the castling
      +
      +
      +
    • +
    • +
      +

      isAllowed

      +
      public boolean isAllowed(Chess chess)
      +
      Is allowed boolean.
      +
      +
      Overrides:
      +
      isAllowed in class Move
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      applyOnBoard

      +
      public boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Specified by:
      +
      applyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      public void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Specified by:
      +
      undoOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Specified by:
      +
      getEndpointLocation in class Move
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    • +
      +

      getStartpointLocation

      +
      public Location getStartpointLocation()
      +
      Gets startpoint location.
      +
      +
      Specified by:
      +
      getStartpointLocation in class Move
      +
      Returns:
      +
      the startpoint location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/EnPassant.html b/docs/com/amirhn/Moves/EnPassant.html new file mode 100644 index 0000000..acffb6c --- /dev/null +++ b/docs/com/amirhn/Moves/EnPassant.html @@ -0,0 +1,357 @@ + + + + +EnPassant + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class EnPassant

+
+ +
+
+
public class EnPassant +extends Capture
+
The type En passant.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      secondSource

      +
      public Location secondSource
      +
      The Second source.
      +
      +
    • +
    • +
      +

      secondDestination

      +
      public Location secondDestination
      +
      The Second destination.
      +
      +
    • +
    • +
      +

      pushPawnMove

      +
      public Walk pushPawnMove
      +
      The Push pawn move.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      EnPassant

      +
      public EnPassant(Pawn pawn, + Pawn capturePawn)
      +
      Instantiates a new En passant.
      +
      +
      Parameters:
      +
      pawn - the pawn
      +
      capturePawn - the capture pawn
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applyOnBoard

      +
      public boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Overrides:
      +
      applyOnBoard in class Capture
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      public void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Overrides:
      +
      undoOnBoard in class Capture
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Capture
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isAllowed

      +
      public boolean isAllowed(Chess chess)
      +
      Is allowed boolean.
      +
      +
      Overrides:
      +
      isAllowed in class Move
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Capture
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Overrides:
      +
      getEndpointLocation in class Capture
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/LongCastling.html b/docs/com/amirhn/Moves/LongCastling.html new file mode 100644 index 0000000..d7b8f73 --- /dev/null +++ b/docs/com/amirhn/Moves/LongCastling.html @@ -0,0 +1,211 @@ + + + + +LongCastling + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class LongCastling

+
+ +
+
+
public class LongCastling +extends Castling
+
The type Long castling.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      LongCastling

      +
      public LongCastling(King king, + Rook rook)
      +
      Instantiates a new Long castling.
      +
      +
      Parameters:
      +
      king - the king
      +
      rook - the rook
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/Move.html b/docs/com/amirhn/Moves/Move.html new file mode 100644 index 0000000..f1fe07c --- /dev/null +++ b/docs/com/amirhn/Moves/Move.html @@ -0,0 +1,324 @@ + + + + +Move + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Move

+
+
java.lang.Object +
com.amirhn.Moves.Move
+
+
+
+
Direct Known Subclasses:
+
Capture, Castling, Promotion, Walk
+
+
+
public abstract class Move +extends Object
+
The type Move.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      type

      +
      public final MoveType type
      +
      The Type.
      +
      +
    • +
    • +
      +

      piece

      +
      public Piece piece
      +
      The Piece.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Move

      +
      public Move(MoveType type, + Piece piece)
      +
      Instantiates a new Move.
      +
      +
      Parameters:
      +
      type - the type
      +
      piece - the piece
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isAllowed

      +
      public boolean isAllowed(Chess chess)
      +
      Is allowed boolean.
      +
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      applyOnBoard

      +
      public abstract boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      protected abstract void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getStartpointLocation

      +
      public abstract Location getStartpointLocation()
      +
      Gets startpoint location.
      +
      +
      Returns:
      +
      the startpoint location
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public abstract Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/MoveType.html b/docs/com/amirhn/Moves/MoveType.html new file mode 100644 index 0000000..16e8122 --- /dev/null +++ b/docs/com/amirhn/Moves/MoveType.html @@ -0,0 +1,260 @@ + + + + +MoveType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class MoveType

+
+
java.lang.Object +
java.lang.Enum<MoveType> +
com.amirhn.Moves.MoveType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<MoveType>, Constable
+
+
+
public enum MoveType +extends Enum<MoveType>
+
The enum Move type.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      WALK

      +
      public static final MoveType WALK
      +
      Walk move type.
      +
      +
    • +
    • +
      +

      CAPTURE

      +
      public static final MoveType CAPTURE
      +
      Capture move type.
      +
      +
    • +
    • +
      +

      CASTLING

      +
      public static final MoveType CASTLING
      +
      Castling move type.
      +
      +
    • +
    • +
      +

      PROMOTION

      +
      public static final MoveType PROMOTION
      +
      Promotion move type.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static MoveType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static MoveType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/PawnPromotion.html b/docs/com/amirhn/Moves/PawnPromotion.html new file mode 100644 index 0000000..4b266be --- /dev/null +++ b/docs/com/amirhn/Moves/PawnPromotion.html @@ -0,0 +1,233 @@ + + + + +PawnPromotion + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class PawnPromotion

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Promotion +
com.amirhn.Moves.PawnPromotion
+
+
+
+
+
+
public class PawnPromotion +extends Promotion
+
The type Pawn promotion.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      PawnPromotion

      +
      public PawnPromotion(Move move, + PieceType promotedPieceType)
      +
      Instantiates a new Pawn promotion.
      +
      +
      Parameters:
      +
      move - the move
      +
      promotedPieceType - the promoted piece type
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Promotion
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      isAllowed

      +
      public boolean isAllowed(Chess chess)
      +
      Is allowed boolean.
      +
      +
      Overrides:
      +
      isAllowed in class Move
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/Promotion.html b/docs/com/amirhn/Moves/Promotion.html new file mode 100644 index 0000000..850d70c --- /dev/null +++ b/docs/com/amirhn/Moves/Promotion.html @@ -0,0 +1,342 @@ + + + + +Promotion + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Promotion

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Promotion
+
+
+
+
+
Direct Known Subclasses:
+
PawnPromotion
+
+
+
public abstract class Promotion +extends Move
+
The type Promotion.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      move

      +
      public Move move
      +
      The Move.
      +
      +
    • +
    • +
      +

      promotedPiece

      +
      public Piece promotedPiece
      +
      The Promoted piece.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Promotion

      +
      public Promotion(Move move, + PieceType promotedPieceType)
      +
      Instantiates a new Promotion.
      +
      +
      Parameters:
      +
      move - the move
      +
      promotedPieceType - the promoted piece type
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applyOnBoard

      +
      public boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Specified by:
      +
      applyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      public void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Specified by:
      +
      undoOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Specified by:
      +
      getEndpointLocation in class Move
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    • +
      +

      getStartpointLocation

      +
      public Location getStartpointLocation()
      +
      Gets startpoint location.
      +
      +
      Specified by:
      +
      getStartpointLocation in class Move
      +
      Returns:
      +
      the startpoint location
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/ShortCastling.html b/docs/com/amirhn/Moves/ShortCastling.html new file mode 100644 index 0000000..1816353 --- /dev/null +++ b/docs/com/amirhn/Moves/ShortCastling.html @@ -0,0 +1,211 @@ + + + + +ShortCastling + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class ShortCastling

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Castling +
com.amirhn.Moves.ShortCastling
+
+
+
+
+
+
public class ShortCastling +extends Castling
+
The type Short castling.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      ShortCastling

      +
      public ShortCastling(King king, + Rook rook)
      +
      Instantiates a new Short castling.
      +
      +
      Parameters:
      +
      king - the king
      +
      rook - the rook
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/Walk.html b/docs/com/amirhn/Moves/Walk.html new file mode 100644 index 0000000..da9f2e8 --- /dev/null +++ b/docs/com/amirhn/Moves/Walk.html @@ -0,0 +1,338 @@ + + + + +Walk + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Walk

+
+
java.lang.Object +
com.amirhn.Moves.Move +
com.amirhn.Moves.Walk
+
+
+
+
+
public class Walk +extends Move
+
The type Walk.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      source

      +
      public Location source
      +
      The Source.
      +
      +
    • +
    • +
      +

      destination

      +
      public Location destination
      +
      The Destination.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Walk

      +
      public Walk(Piece sourcePiece, + Location destination)
      +
      Instantiates a new Walk.
      +
      +
      Parameters:
      +
      sourcePiece - the source piece
      +
      destination - the destination
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      applyOnBoard

      +
      public boolean applyOnBoard(Board board)
      +
      Apply on board boolean.
      +
      +
      Specified by:
      +
      applyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      undoOnBoard

      +
      public void undoOnBoard(Board board)
      +
      Undo on board.
      +
      +
      Specified by:
      +
      undoOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      +
      +
    • +
    • +
      +

      isValidApplyOnBoard

      +
      public boolean isValidApplyOnBoard(Board board)
      +
      Is valid apply on board boolean.
      +
      +
      Overrides:
      +
      isValidApplyOnBoard in class Move
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getStartpointLocation

      +
      public Location getStartpointLocation()
      +
      Gets startpoint location.
      +
      +
      Specified by:
      +
      getStartpointLocation in class Move
      +
      Returns:
      +
      the startpoint location
      +
      +
      +
    • +
    • +
      +

      getEndpointLocation

      +
      public Location getEndpointLocation()
      +
      Gets endpoint location.
      +
      +
      Specified by:
      +
      getEndpointLocation in class Move
      +
      Returns:
      +
      the endpoint location
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Moves/package-summary.html b/docs/com/amirhn/Moves/package-summary.html new file mode 100644 index 0000000..e8490dc --- /dev/null +++ b/docs/com/amirhn/Moves/package-summary.html @@ -0,0 +1,150 @@ + + + + +com.amirhn.Moves + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.Moves

+
+
+
package com.amirhn.Moves
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Moves/package-tree.html b/docs/com/amirhn/Moves/package-tree.html new file mode 100644 index 0000000..567443e --- /dev/null +++ b/docs/com/amirhn/Moves/package-tree.html @@ -0,0 +1,105 @@ + + + + +com.amirhn.Moves Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.Moves

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Bishop.html b/docs/com/amirhn/Pieces/Bishop.html new file mode 100644 index 0000000..e726692 --- /dev/null +++ b/docs/com/amirhn/Pieces/Bishop.html @@ -0,0 +1,208 @@ + + + + +Bishop + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Bishop

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.Bishop
+
+
+
+
+
public class Bishop +extends Piece
+
The type Bishop.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Bishop

      +
      public Bishop(Color color, + Location location)
      +
      Instantiates a new Bishop.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/King.html b/docs/com/amirhn/Pieces/King.html new file mode 100644 index 0000000..0abd73f --- /dev/null +++ b/docs/com/amirhn/Pieces/King.html @@ -0,0 +1,248 @@ + + + + +King + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class King

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.King
+
+
+
+
+
public class King +extends Piece
+
The type King.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      King

      +
      public King(Color color, + Location location)
      +
      Instantiates a new King.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      canBeCapturedBy

      +
      public boolean canBeCapturedBy(Piece piece)
      +
      Can be captured by boolean.
      +
      +
      Overrides:
      +
      canBeCapturedBy in class Piece
      +
      Parameters:
      +
      piece - the piece
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    • +
      +

      getNaturalMoves

      +
      public List<Move> getNaturalMoves(Board board)
      +
      Gets natural moves.
      +
      +
      Overrides:
      +
      getNaturalMoves in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the natural moves
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Knight.html b/docs/com/amirhn/Pieces/Knight.html new file mode 100644 index 0000000..94155d6 --- /dev/null +++ b/docs/com/amirhn/Pieces/Knight.html @@ -0,0 +1,208 @@ + + + + +Knight + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Knight

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.Knight
+
+
+
+
+
public class Knight +extends Piece
+
The type Knight.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Knight

      +
      public Knight(Color color, + Location location)
      +
      Instantiates a new Knight.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Pawn.html b/docs/com/amirhn/Pieces/Pawn.html new file mode 100644 index 0000000..f132a7d --- /dev/null +++ b/docs/com/amirhn/Pieces/Pawn.html @@ -0,0 +1,254 @@ + + + + +Pawn + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Pawn

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.Pawn
+
+
+
+
+
public class Pawn +extends Piece
+
The type Pawn.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      direction

      +
      public final int direction
      +
      The Direction.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Pawn

      +
      public Pawn(Color color, + Location location)
      +
      Instantiates a new Pawn.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getNaturalMoves

      +
      public List<Move> getNaturalMoves(Board board)
      +
      Gets natural moves.
      +
      +
      Overrides:
      +
      getNaturalMoves in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the natural moves
      +
      +
      +
    • +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Piece.html b/docs/com/amirhn/Pieces/Piece.html new file mode 100644 index 0000000..9fa24e0 --- /dev/null +++ b/docs/com/amirhn/Pieces/Piece.html @@ -0,0 +1,548 @@ + + + + +Piece + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Piece

+
+
java.lang.Object +
com.amirhn.Pieces.Piece
+
+
+
+
Direct Known Subclasses:
+
Bishop, King, Knight, Pawn, Queen, Rook
+
+
+
public abstract class Piece +extends Object
+
The type Piece.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      type

      +
      public final PieceType type
      +
      The Type.
      +
      +
    • +
    • +
      +

      color

      +
      public final Color color
      +
      The Color.
      +
      +
    • +
    • +
      +

      location

      +
      protected Location location
      +
      The Location.
      +
      +
    • +
    • +
      +

      moves

      +
      protected int moves
      +
      The Moves.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Piece

      +
      public Piece(PieceType type, + Color color, + Location location)
      +
      Instantiates a new Piece.
      +
      +
      Parameters:
      +
      type - the type
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      generate

      +
      public static Piece generate(PieceType pieceType, + Color color, + Location location)
      +
      Generate piece.
      +
      +
      Parameters:
      +
      pieceType - the piece type
      +
      color - the color
      +
      location - the location
      +
      Returns:
      +
      the piece
      +
      +
      +
    • +
    • +
      +

      generate

      +
      public static Piece generate(char fen, + Location location)
      +
      Generate piece.
      +
      +
      Parameters:
      +
      fen - the fen
      +
      location - the location
      +
      Returns:
      +
      the piece
      +
      +
      +
    • +
    • +
      +

      getLocation

      +
      public Location getLocation()
      +
      Gets location.
      +
      +
      Returns:
      +
      the location
      +
      +
      +
    • +
    • +
      +

      setLocation

      +
      public void setLocation(Location location)
      +
      Sets location.
      +
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      setLocationBack

      +
      public void setLocationBack(Location location)
      +
      Sets location back.
      +
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      removeLocation

      +
      public void removeLocation()
      +
      Remove location.
      +
      +
    • +
    • +
      +

      hasMoved

      +
      public boolean hasMoved()
      +
      Has moved boolean.
      +
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      equals

      +
      public boolean equals(Object o)
      +
      Equals boolean.
      +
      +
      Overrides:
      +
      equals in class Object
      +
      Parameters:
      +
      o - the o
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      hashCode

      +
      public int hashCode()
      +
      Hash code int.
      +
      +
      Overrides:
      +
      hashCode in class Object
      +
      Returns:
      +
      the int
      +
      +
      +
    • +
    • +
      +

      toString

      +
      public String toString()
      +
      To string string.
      +
      +
      Overrides:
      +
      toString in class Object
      +
      Returns:
      +
      the string
      +
      +
      +
    • +
    • +
      +

      isAllowedToMove

      +
      public boolean isAllowedToMove(Chess chess)
      +
      Is allowed to move boolean.
      +
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getAllowedMoves

      +
      public List<Move> getAllowedMoves(Chess chess)
      +
      Gets allowed moves.
      +
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the allowed moves
      +
      +
      +
    • +
    • +
      +

      canBeCapturedBy

      +
      public boolean canBeCapturedBy(Piece piece)
      +
      Can be captured by boolean.
      +
      +
      Parameters:
      +
      piece - the piece
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    • +
      +

      getSymbol

      +
      public char getSymbol()
      +
      Gets symbol.
      +
      +
      Returns:
      +
      the symbol
      +
      +
      +
    • +
    • +
      +

      getThreatenedLocations

      +
      public abstract List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    • +
      +

      getNaturalMoves

      +
      public List<Move> getNaturalMoves(Board board)
      +
      Gets natural moves.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the natural moves
      +
      +
      +
    • +
    • +
      +

      copy

      +
      public Piece copy()
      +
      Copy piece.
      +
      +
      Returns:
      +
      the piece
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/PieceType.html b/docs/com/amirhn/Pieces/PieceType.html new file mode 100644 index 0000000..a780dfd --- /dev/null +++ b/docs/com/amirhn/Pieces/PieceType.html @@ -0,0 +1,362 @@ + + + + +PieceType + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Enum Class PieceType

+
+
java.lang.Object +
java.lang.Enum<PieceType> +
com.amirhn.Pieces.PieceType
+
+
+
+
+
All Implemented Interfaces:
+
Serializable, Comparable<PieceType>, Constable
+
+
+
public enum PieceType +extends Enum<PieceType>
+
The enum Piece type.
+
+
+ +
+
+
    + +
  • +
    +

    Enum Constant Details

    +
      +
    • +
      +

      KING

      +
      public static final PieceType KING
      +
      King piece type.
      +
      +
    • +
    • +
      +

      QUEEN

      +
      public static final PieceType QUEEN
      +
      Queen piece type.
      +
      +
    • +
    • +
      +

      KNIGHT

      +
      public static final PieceType KNIGHT
      +
      Knight piece type.
      +
      +
    • +
    • +
      +

      ROOK

      +
      public static final PieceType ROOK
      +
      Rook piece type.
      +
      +
    • +
    • +
      +

      BISHOP

      +
      public static final PieceType BISHOP
      +
      Bishop piece type.
      +
      +
    • +
    • +
      +

      PAWN

      +
      public static final PieceType PAWN
      +
      Pawn piece type.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      letter

      +
      public final char letter
      +
      The Letter.
      +
      +
    • +
    • +
      +

      symbols

      +
      public final String symbols
      +
      The Symbols.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      values

      +
      public static PieceType[] values()
      +
      Returns an array containing the constants of this enum class, in +the order they are declared.
      +
      +
      Returns:
      +
      an array containing the constants of this enum class, in the order they are declared
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static PieceType valueOf(String name)
      +
      Returns the enum constant of this class with the specified name. +The string must match exactly an identifier used to declare an +enum constant in this class. (Extraneous whitespace characters are +not permitted.)
      +
      +
      Parameters:
      +
      name - the name of the enum constant to be returned.
      +
      Returns:
      +
      the enum constant with the specified name
      +
      Throws:
      +
      IllegalArgumentException - if this enum class has no constant with the specified name
      +
      NullPointerException - if the argument is null
      +
      +
      +
    • +
    • +
      +

      valueOf

      +
      public static PieceType valueOf(char letter)
      +
      Value of piece type.
      +
      +
      Parameters:
      +
      letter - the letter
      +
      Returns:
      +
      the piece type
      +
      +
      +
    • +
    • +
      +

      getSymbol

      +
      public char getSymbol(Color color)
      +
      Gets symbol.
      +
      +
      Parameters:
      +
      color - the color
      +
      Returns:
      +
      the symbol
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Queen.html b/docs/com/amirhn/Pieces/Queen.html new file mode 100644 index 0000000..b589405 --- /dev/null +++ b/docs/com/amirhn/Pieces/Queen.html @@ -0,0 +1,260 @@ + + + + +Queen + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Queen

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.Queen
+
+
+
+
+
public class Queen +extends Piece
+
The type Queen.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Queen

      +
      public Queen(Color color, + Location location)
      +
      Instantiates a new Queen.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      setLocation

      +
      public void setLocation(Location location)
      +
      Sets location.
      +
      +
      Overrides:
      +
      setLocation in class Piece
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      setLocationBack

      +
      public void setLocationBack(Location location)
      +
      Sets location back.
      +
      +
      Overrides:
      +
      setLocationBack in class Piece
      +
      Parameters:
      +
      location - the location
      +
      +
      +
    • +
    • +
      +

      removeLocation

      +
      public void removeLocation()
      +
      Remove location.
      +
      +
      Overrides:
      +
      removeLocation in class Piece
      +
      +
      +
    • +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/Rook.html b/docs/com/amirhn/Pieces/Rook.html new file mode 100644 index 0000000..9aec2b3 --- /dev/null +++ b/docs/com/amirhn/Pieces/Rook.html @@ -0,0 +1,208 @@ + + + + +Rook + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Rook

+
+
java.lang.Object +
com.amirhn.Pieces.Piece +
com.amirhn.Pieces.Rook
+
+
+
+
+
public class Rook +extends Piece
+
The type Rook.
+
+
+ +
+
+
    + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Rook

      +
      public Rook(Color color, + Location location)
      +
      Instantiates a new Rook.
      +
      +
      Parameters:
      +
      color - the color
      +
      location - the location
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Specified by:
      +
      getThreatenedLocations in class Piece
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Pieces/package-summary.html b/docs/com/amirhn/Pieces/package-summary.html new file mode 100644 index 0000000..ca8d5a9 --- /dev/null +++ b/docs/com/amirhn/Pieces/package-summary.html @@ -0,0 +1,142 @@ + + + + +com.amirhn.Pieces + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.Pieces

+
+
+
package com.amirhn.Pieces
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Pieces/package-tree.html b/docs/com/amirhn/Pieces/package-tree.html new file mode 100644 index 0000000..b184997 --- /dev/null +++ b/docs/com/amirhn/Pieces/package-tree.html @@ -0,0 +1,94 @@ + + + + +com.amirhn.Pieces Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.Pieces

+
+Package Hierarchies: + +
+

Class Hierarchy

+
    +
  • java.lang.Object +
      +
    • com.amirhn.Pieces.Piece +
        +
      • com.amirhn.Pieces.Bishop
      • +
      • com.amirhn.Pieces.King
      • +
      • com.amirhn.Pieces.Knight
      • +
      • com.amirhn.Pieces.Pawn
      • +
      • com.amirhn.Pieces.Queen
      • +
      • com.amirhn.Pieces.Rook
      • +
      +
    • +
    +
  • +
+
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Players/Player.html b/docs/com/amirhn/Players/Player.html new file mode 100644 index 0000000..166c96b --- /dev/null +++ b/docs/com/amirhn/Players/Player.html @@ -0,0 +1,429 @@ + + + + +Player + + + + + + + + + + + + + + +
+ +
+
+ +
+ +

Class Player

+
+
java.lang.Object +
com.amirhn.Players.Player
+
+
+
+
public class Player +extends Object
+
The type Player.
+
+
+ +
+
+
    + +
  • +
    +

    Field Details

    +
      +
    • +
      +

      capturedPieces

      +
      public List<Piece> capturedPieces
      +
      The Captured pieces.
      +
      +
    • +
    • +
      +

      hadLongCastling

      +
      public boolean hadLongCastling
      +
      The Had long castling.
      +
      +
    • +
    • +
      +

      hadShortCastling

      +
      public boolean hadShortCastling
      +
      The Had short castling.
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Constructor Details

    +
      +
    • +
      +

      Player

      +
      public Player(Color color)
      +
      Instantiates a new Player.
      +
      +
      Parameters:
      +
      color - the color
      +
      +
      +
    • +
    +
    +
  • + +
  • +
    +

    Method Details

    +
      +
    • +
      +

      getColor

      +
      public Color getColor()
      +
      Gets color.
      +
      +
      Returns:
      +
      the color
      +
      +
      +
    • +
    • +
      +

      getActivePieces

      +
      public List<Piece> getActivePieces(Board board)
      +
      Gets active pieces.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the active pieces
      +
      +
      +
    • +
    • +
      +

      getNaturalMoves

      +
      public List<Move> getNaturalMoves(Board board)
      +
      Gets natural moves.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the natural moves
      +
      +
      +
    • +
    • +
      +

      getAllowedMoves

      +
      public List<Move> getAllowedMoves(Chess chess)
      +
      Gets allowed moves.
      +
      +
      Parameters:
      +
      chess - the chess
      +
      Returns:
      +
      the allowed moves
      +
      +
      +
    • +
    • +
      +

      getThreatenedLocations

      +
      public List<Location> getThreatenedLocations(Board board)
      +
      Gets threatened locations.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the threatened locations
      +
      +
      +
    • +
    • +
      +

      getPieces

      +
      public List<Piece> getPieces(Board board, + PieceType pieceType)
      +
      Gets pieces.
      +
      +
      Parameters:
      +
      board - the board
      +
      pieceType - the piece type
      +
      Returns:
      +
      the pieces
      +
      +
      +
    • +
    • +
      +

      getKing

      +
      public King getKing(Board board)
      +
      Gets king.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the king
      +
      +
      +
    • +
    • +
      +

      getRooks

      +
      public List<Rook> getRooks(Board board)
      +
      Gets rooks.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the rooks
      +
      +
      +
    • +
    • +
      +

      getKingSideRook

      +
      public Rook getKingSideRook(Board board)
      +
      Gets king side rook.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the king side rook
      +
      +
      +
    • +
    • +
      +

      getQueenSideRook

      +
      public Rook getQueenSideRook(Board board)
      +
      Gets queen side rook.
      +
      +
      Parameters:
      +
      board - the board
      +
      Returns:
      +
      the queen side rook
      +
      +
      +
    • +
    • +
      +

      isThreatening

      +
      public boolean isThreatening(Board board, + Location location)
      +
      Is threatening boolean.
      +
      +
      Parameters:
      +
      board - the board
      +
      location - the location
      +
      Returns:
      +
      the boolean
      +
      +
      +
    • +
    +
    +
  • +
+
+ +
+
+
+ + diff --git a/docs/com/amirhn/Players/package-summary.html b/docs/com/amirhn/Players/package-summary.html new file mode 100644 index 0000000..3d1249e --- /dev/null +++ b/docs/com/amirhn/Players/package-summary.html @@ -0,0 +1,112 @@ + + + + +com.amirhn.Players + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn.Players

+
+
+
package com.amirhn.Players
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/Players/package-tree.html b/docs/com/amirhn/Players/package-tree.html new file mode 100644 index 0000000..2ba10b3 --- /dev/null +++ b/docs/com/amirhn/Players/package-tree.html @@ -0,0 +1,71 @@ + + + + +com.amirhn.Players Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn.Players

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/com/amirhn/package-summary.html b/docs/com/amirhn/package-summary.html new file mode 100644 index 0000000..c6b87a9 --- /dev/null +++ b/docs/com/amirhn/package-summary.html @@ -0,0 +1,112 @@ + + + + +com.amirhn + + + + + + + + + + + + + + +
+ +
+
+
+

Package com.amirhn

+
+
+
package com.amirhn
+
+ +
+
+
+
+ + diff --git a/docs/com/amirhn/package-tree.html b/docs/com/amirhn/package-tree.html new file mode 100644 index 0000000..b314e2a --- /dev/null +++ b/docs/com/amirhn/package-tree.html @@ -0,0 +1,71 @@ + + + + +com.amirhn Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For Package com.amirhn

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/constant-values.html b/docs/constant-values.html new file mode 100644 index 0000000..63fd896 --- /dev/null +++ b/docs/constant-values.html @@ -0,0 +1,104 @@ + + + + +Constant Field Values + + + + + + + + + + + + + + +
+ +
+
+
+

Constant Field Values

+
+
+

Contents

+ +
+
+

com.amirhn.*

+
    +
  • +
    com.amirhn.Game.Chess
    +
    +
    Modifier and Type
    +
    Constant Field
    +
    Value
    +
    public static final String
    + +
    "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"
    +
    +
  • +
+ +
+
+
+
+ + diff --git a/docs/copy.svg b/docs/copy.svg new file mode 100644 index 0000000..7c46ab1 --- /dev/null +++ b/docs/copy.svg @@ -0,0 +1,33 @@ + + + + + + + + diff --git a/docs/element-list b/docs/element-list new file mode 100644 index 0000000..d45d7c2 --- /dev/null +++ b/docs/element-list @@ -0,0 +1,8 @@ +com.amirhn +com.amirhn.Game +com.amirhn.GUI +com.amirhn.GUI.Components +com.amirhn.GUI.Listeners +com.amirhn.Moves +com.amirhn.Pieces +com.amirhn.Players diff --git a/docs/help-doc.html b/docs/help-doc.html new file mode 100644 index 0000000..37c035b --- /dev/null +++ b/docs/help-doc.html @@ -0,0 +1,193 @@ + + + + +API Help + + + + + + + + + + + + + + +
+ +
+
+

JavaDoc Help

+ +
+
+

Navigation

+Starting from the Overview page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The Index and Search box allow you to navigate to specific declarations and summary pages, including: All Packages, All Classes and Interfaces + +
+
+
+

Kinds of Pages

+The following sections describe the different kinds of pages in this collection. +
+

Overview

+

The Overview page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.

+
+
+

Package

+

Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:

+
    +
  • Interfaces
  • +
  • Classes
  • +
  • Enum Classes
  • +
  • Exception Classes
  • +
  • Annotation Interfaces
  • +
+
+
+

Class or Interface

+

Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.

+
    +
  • Class Inheritance Diagram
  • +
  • Direct Subclasses
  • +
  • All Known Subinterfaces
  • +
  • All Known Implementing Classes
  • +
  • Class or Interface Declaration
  • +
  • Class or Interface Description
  • +
+
+
    +
  • Nested Class Summary
  • +
  • Enum Constant Summary
  • +
  • Field Summary
  • +
  • Property Summary
  • +
  • Constructor Summary
  • +
  • Method Summary
  • +
  • Required Element Summary
  • +
  • Optional Element Summary
  • +
+
+
    +
  • Enum Constant Details
  • +
  • Field Details
  • +
  • Property Details
  • +
  • Constructor Details
  • +
  • Method Details
  • +
  • Element Details
  • +
+

Note: Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.

+

The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.

+
+
+

Other Files

+

Packages and modules may contain pages with additional information related to the declarations nearby.

+
+
+

Tree (Class Hierarchy)

+

There is a Class Hierarchy page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with java.lang.Object. Interfaces do not inherit from java.lang.Object.

+
    +
  • When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.
  • +
  • When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.
  • +
+
+
+

Constant Field Values

+

The Constant Field Values page lists the static final fields and their values.

+
+
+

Serialized Form

+

Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.

+
+
+

All Packages

+

The All Packages page contains an alphabetic index of all packages contained in the documentation.

+
+
+

All Classes and Interfaces

+

The All Classes and Interfaces page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.

+
+
+

Index

+

The Index contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as All Packages, All Classes and Interfaces.

+
+
+
+This help file applies to API documentation generated by the standard doclet.
+
+
+ + diff --git a/docs/index-files/index-1.html b/docs/index-files/index-1.html new file mode 100644 index 0000000..0fd377b --- /dev/null +++ b/docs/index-files/index-1.html @@ -0,0 +1,109 @@ + + + + +A-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

A

+
+
actionPerformed(ActionEvent) - Method in class com.amirhn.GUI.ChessMenuBar
+
+
Action performed.
+
+
addPiecePanel(PiecePanel, Location) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Add piece panel.
+
+
applyMove(Move) - Method in class com.amirhn.Game.Chess
+
+
Apply move boolean.
+
+
applyMove(Move) - Method in class com.amirhn.GUI.ChessController
+
+
Apply move boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.Capture
+
+
Apply on board boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.Castling
+
+
Apply on board boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.EnPassant
+
+
Apply on board boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.Move
+
+
Apply on board boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.Promotion
+
+
Apply on board boolean.
+
+
applyOnBoard(Board) - Method in class com.amirhn.Moves.Walk
+
+
Apply on board boolean.
+
+
applyRandomMove() - Method in class com.amirhn.GUI.ChessController
+
+
Apply random move.
+
+
applyRandomMove() - Method in interface com.amirhn.GUI.ChessMenuController
+
+
Apply random move.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-10.html b/docs/index-files/index-10.html new file mode 100644 index 0000000..bccee3f --- /dev/null +++ b/docs/index-files/index-10.html @@ -0,0 +1,93 @@ + + + + +K-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

K

+
+
king - Variable in class com.amirhn.Moves.Castling
+
+
The King.
+
+
King - Class in com.amirhn.Pieces
+
+
The type King.
+
+
King(Color, Location) - Constructor for class com.amirhn.Pieces.King
+
+
Instantiates a new King.
+
+
KING - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
King piece type.
+
+
kingMove - Variable in class com.amirhn.Moves.Castling
+
+
The King move.
+
+
Knight - Class in com.amirhn.Pieces
+
+
The type Knight.
+
+
Knight(Color, Location) - Constructor for class com.amirhn.Pieces.Knight
+
+
Instantiates a new Knight.
+
+
KNIGHT - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
Knight piece type.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-11.html b/docs/index-files/index-11.html new file mode 100644 index 0000000..5f62984 --- /dev/null +++ b/docs/index-files/index-11.html @@ -0,0 +1,149 @@ + + + + +L-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

L

+
+
label - Variable in class com.amirhn.GUI.Components.PiecePanel
+
+
The Label.
+
+
LASTMOVE - Enum constant in enum class com.amirhn.GUI.Components.LocationState
+
+
Lastmove location state.
+
+
letter - Variable in enum class com.amirhn.Pieces.PieceType
+
+
The Letter.
+
+
LightTileColor - Static variable in class com.amirhn.GUI.Constants
+
+
The constant LightTileColor.
+
+
loadFEN() - Method in class com.amirhn.GUI.ChessController
+
+
Load fen.
+
+
loadFEN() - Method in interface com.amirhn.GUI.ChessMenuController
+
+
Load fen.
+
+
location - Variable in class com.amirhn.Pieces.Piece
+
+
The Location.
+
+
Location - Class in com.amirhn.Game
+
+
The type Location.
+
+
Location(int, int) - Constructor for class com.amirhn.Game.Location
+
+
Instantiates a new Location.
+
+
locationDropped(Location) - Method in class com.amirhn.GUI.ChessController
+
+
Location dropped.
+
+
locationDropped(Location) - Method in interface com.amirhn.GUI.Listeners.LocationListener
+
+
Location dropped.
+
+
locationGrabbed(Location) - Method in class com.amirhn.GUI.ChessController
+
+
Location grabbed.
+
+
locationGrabbed(Location) - Method in interface com.amirhn.GUI.Listeners.LocationListener
+
+
Location grabbed.
+
+
LocationListener - Interface in com.amirhn.GUI.Listeners
+
+
The interface Location listener.
+
+
locationOf(Point) - Method in class com.amirhn.GUI.Components.TablePanel
+
+
Location of location.
+
+
LocationPanel - Class in com.amirhn.GUI.Components
+
+
The type Location panel.
+
+
LocationPanel(boolean) - Constructor for class com.amirhn.GUI.Components.LocationPanel
+
+
Instantiates a new Location panel.
+
+
locationSelected(Location) - Method in class com.amirhn.GUI.ChessController
+
+
Location selected.
+
+
locationSelected(Location) - Method in interface com.amirhn.GUI.Listeners.LocationListener
+
+
Location selected.
+
+
LocationState - Enum Class in com.amirhn.GUI.Components
+
+
The enum Location state.
+
+
LongCastling - Class in com.amirhn.Moves
+
+
The type Long castling.
+
+
LongCastling(King, Rook) - Constructor for class com.amirhn.Moves.LongCastling
+
+
Instantiates a new Long castling.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-12.html b/docs/index-files/index-12.html new file mode 100644 index 0000000..ecbf7a2 --- /dev/null +++ b/docs/index-files/index-12.html @@ -0,0 +1,131 @@ + + + + +M-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

M

+
+
main(String[]) - Static method in class com.amirhn.Main
+
+
The entry point of application.
+
+
Main - Class in com.amirhn
+
+
The type com.amirhn.Main.
+
+
Main() - Constructor for class com.amirhn.Main
+
 
+
mouseClicked(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse clicked.
+
+
mouseDragged(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse dragged.
+
+
mouseEntered(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse entered.
+
+
mouseExited(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse exited.
+
+
mouseMoved(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse moved.
+
+
mousePressed(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse pressed.
+
+
mouseReleased(MouseEvent) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Mouse released.
+
+
move - Variable in class com.amirhn.Moves.Promotion
+
+
The Move.
+
+
Move - Class in com.amirhn.Moves
+
+
The type Move.
+
+
Move(MoveType, Piece) - Constructor for class com.amirhn.Moves.Move
+
+
Instantiates a new Move.
+
+
moveFromString(String) - Method in class com.amirhn.Game.Chess
+
+
Move from string move.
+
+
moves - Variable in class com.amirhn.Game.Chess
+
+
The Moves.
+
+
moves - Variable in class com.amirhn.Pieces.Piece
+
+
The Moves.
+
+
MoveSoundPath - Static variable in class com.amirhn.GUI.Constants
+
+
The constant MoveSoundPath.
+
+
MoveType - Enum Class in com.amirhn.Moves
+
+
The enum Move type.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-13.html b/docs/index-files/index-13.html new file mode 100644 index 0000000..250d550 --- /dev/null +++ b/docs/index-files/index-13.html @@ -0,0 +1,73 @@ + + + + +N-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

N

+
+
newGame() - Method in class com.amirhn.GUI.ChessController
+
+
New game.
+
+
newGame() - Method in interface com.amirhn.GUI.ChessMenuController
+
+
New game.
+
+
NORMAL - Enum constant in enum class com.amirhn.GUI.Components.LocationState
+
+
Normal location state.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-14.html b/docs/index-files/index-14.html new file mode 100644 index 0000000..1165d54 --- /dev/null +++ b/docs/index-files/index-14.html @@ -0,0 +1,73 @@ + + + + +O-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

O

+
+
ONGOING - Enum constant in enum class com.amirhn.Game.Status
+
+
Ongoing status.
+
+
opposite() - Method in enum class com.amirhn.Game.Color
+
+
Opposite color.
+
+
OriginalFen - Static variable in class com.amirhn.Game.Chess
+
+
The constant OriginalFen.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-15.html b/docs/index-files/index-15.html new file mode 100644 index 0000000..b234b49 --- /dev/null +++ b/docs/index-files/index-15.html @@ -0,0 +1,157 @@ + + + + +P-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

P

+
+
Pawn - Class in com.amirhn.Pieces
+
+
The type Pawn.
+
+
Pawn(Color, Location) - Constructor for class com.amirhn.Pieces.Pawn
+
+
Instantiates a new Pawn.
+
+
PAWN - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
Pawn piece type.
+
+
PawnPromotion - Class in com.amirhn.Moves
+
+
The type Pawn promotion.
+
+
PawnPromotion(Move, PieceType) - Constructor for class com.amirhn.Moves.PawnPromotion
+
+
Instantiates a new Pawn promotion.
+
+
piece - Variable in class com.amirhn.Moves.Move
+
+
The Piece.
+
+
Piece - Class in com.amirhn.Pieces
+
+
The type Piece.
+
+
Piece(PieceType, Color, Location) - Constructor for class com.amirhn.Pieces.Piece
+
+
Instantiates a new Piece.
+
+
pieceByLocation - Variable in class com.amirhn.Game.Board
+
+
The Piece by location.
+
+
PieceImageDirectory - Static variable in class com.amirhn.GUI.Constants
+
+
The constant PieceImageDirectory.
+
+
PieceImageIcon - Class in com.amirhn.GUI.Components
+
+
The type Piece image icon.
+
+
PieceImageIcon(String, char) - Constructor for class com.amirhn.GUI.Components.PieceImageIcon
+
+
Instantiates a new Piece image icon.
+
+
PiecePanel - Class in com.amirhn.GUI.Components
+
+
The type Piece panel.
+
+
PiecePanel(PieceImageIcon) - Constructor for class com.amirhn.GUI.Components.PiecePanel
+
+
Instantiates a new Piece panel.
+
+
PieceSize - Static variable in class com.amirhn.GUI.Constants
+
+
The constant PieceSize.
+
+
PieceType - Enum Class in com.amirhn.Pieces
+
+
The enum Piece type.
+
+
Player - Class in com.amirhn.Players
+
+
The type Player.
+
+
Player(Color) - Constructor for class com.amirhn.Players.Player
+
+
Instantiates a new Player.
+
+
pointOf(Location) - Method in class com.amirhn.GUI.Components.TablePanel
+
+
Point of point.
+
+
promotedPiece - Variable in class com.amirhn.Moves.Promotion
+
+
The Promoted piece.
+
+
Promotion - Class in com.amirhn.Moves
+
+
The type Promotion.
+
+
Promotion(Move, PieceType) - Constructor for class com.amirhn.Moves.Promotion
+
+
Instantiates a new Promotion.
+
+
PROMOTION - Enum constant in enum class com.amirhn.Moves.MoveType
+
+
Promotion move type.
+
+
pushPawnMove - Variable in class com.amirhn.Moves.EnPassant
+
+
The Push pawn move.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-16.html b/docs/index-files/index-16.html new file mode 100644 index 0000000..d20e1ce --- /dev/null +++ b/docs/index-files/index-16.html @@ -0,0 +1,73 @@ + + + + +Q-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Q

+
+
Queen - Class in com.amirhn.Pieces
+
+
The type Queen.
+
+
Queen(Color, Location) - Constructor for class com.amirhn.Pieces.Queen
+
+
Instantiates a new Queen.
+
+
QUEEN - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
Queen piece type.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-17.html b/docs/index-files/index-17.html new file mode 100644 index 0000000..462d1ec --- /dev/null +++ b/docs/index-files/index-17.html @@ -0,0 +1,113 @@ + + + + +R-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

R

+
+
removeLocation() - Method in class com.amirhn.Pieces.Piece
+
+
Remove location.
+
+
removeLocation() - Method in class com.amirhn.Pieces.Queen
+
+
Remove location.
+
+
removePiece(Piece) - Method in class com.amirhn.Game.Board
+
+
Remove piece.
+
+
removePiecePanels() - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Remove piece panels.
+
+
resetLocationStates() - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Reset location states.
+
+
resetLocationStates() - Method in class com.amirhn.GUI.Components.TablePanel
+
+
Reset location states.
+
+
rook - Variable in class com.amirhn.Moves.Castling
+
+
The Rook.
+
+
Rook - Class in com.amirhn.Pieces
+
+
The type Rook.
+
+
Rook(Color, Location) - Constructor for class com.amirhn.Pieces.Rook
+
+
Instantiates a new Rook.
+
+
ROOK - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
Rook piece type.
+
+
rookMove - Variable in class com.amirhn.Moves.Castling
+
+
The King move.
+
+
row - Variable in class com.amirhn.Game.Location
+
+
The Row.
+
+
rows - Variable in class com.amirhn.Game.Board
+
+
The Rows.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-18.html b/docs/index-files/index-18.html new file mode 100644 index 0000000..e5e251d --- /dev/null +++ b/docs/index-files/index-18.html @@ -0,0 +1,169 @@ + + + + +S-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

S

+
+
Scene - Class in com.amirhn.Game
+
+
The type Scene.
+
+
Scene(Board, Color) - Constructor for class com.amirhn.Game.Scene
+
+
Instantiates a new Scene.
+
+
secondDestination - Variable in class com.amirhn.Moves.EnPassant
+
+
The Second destination.
+
+
secondSource - Variable in class com.amirhn.Moves.EnPassant
+
+
The Second source.
+
+
SELECTED - Enum constant in enum class com.amirhn.GUI.Components.LocationState
+
+
Selected location state.
+
+
setLocation(Location) - Method in class com.amirhn.Pieces.Piece
+
+
Sets location.
+
+
setLocation(Location) - Method in class com.amirhn.Pieces.Queen
+
+
Sets location.
+
+
setLocationBack(Location) - Method in class com.amirhn.Pieces.Piece
+
+
Sets location back.
+
+
setLocationBack(Location) - Method in class com.amirhn.Pieces.Queen
+
+
Sets location back.
+
+
setLocationListener(LocationListener) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Sets location listener.
+
+
setLocationState(Location, LocationState) - Method in class com.amirhn.GUI.Components.BoardPanel
+
+
Sets location state.
+
+
setPiece(Piece) - Method in class com.amirhn.Game.Board
+
+
Sets piece.
+
+
setPiece(Piece) - Method in class com.amirhn.Game.Chess
+
+
Sets piece.
+
+
setState(LocationState) - Method in class com.amirhn.GUI.Components.LocationPanel
+
+
Sets state.
+
+
setupFEN(String) - Method in class com.amirhn.Game.Board
+
+
Sets fen.
+
+
setupFEN(String) - Method in class com.amirhn.Game.Chess
+
+
Sets fen.
+
+
ShortCastling - Class in com.amirhn.Moves
+
+
The type Short castling.
+
+
ShortCastling(King, Rook) - Constructor for class com.amirhn.Moves.ShortCastling
+
+
Instantiates a new Short castling.
+
+
Size - Static variable in class com.amirhn.GUI.Components.LocationPanel
+
+
The constant Size.
+
+
Size - Static variable in class com.amirhn.GUI.Components.PiecePanel
+
+
The constant Size.
+
+
SoundDirectory - Static variable in class com.amirhn.GUI.Constants
+
+
The constant SoundDirectory.
+
+
source - Variable in class com.amirhn.Moves.Capture
+
+
The Source.
+
+
source - Variable in class com.amirhn.Moves.Walk
+
+
The Source.
+
+
STALEMATE - Enum constant in enum class com.amirhn.Game.Status
+
+
Stalemate status.
+
+
Status - Enum Class in com.amirhn.Game
+
+
The enum Status.
+
+
SUGGESTED - Enum constant in enum class com.amirhn.GUI.Components.LocationState
+
+
Suggested location state.
+
+
symbols - Variable in enum class com.amirhn.Pieces.PieceType
+
+
The Symbols.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-19.html b/docs/index-files/index-19.html new file mode 100644 index 0000000..7e8df67 --- /dev/null +++ b/docs/index-files/index-19.html @@ -0,0 +1,129 @@ + + + + +T-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

T

+
+
TablePanel - Class in com.amirhn.GUI.Components
+
+
The type Table panel.
+
+
TablePanel(int, int) - Constructor for class com.amirhn.GUI.Components.TablePanel
+
+
Instantiates a new Table panel.
+
+
TileSize - Static variable in class com.amirhn.GUI.Constants
+
+
The constant TileSize.
+
+
toString() - Method in class com.amirhn.Game.Board
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Game.Chess
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Game.Location
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.Capture
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.EnPassant
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.LongCastling
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.Promotion
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.ShortCastling
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Moves.Walk
+
+
To string string.
+
+
toString() - Method in class com.amirhn.Pieces.Piece
+
+
To string string.
+
+
TransparentColor - Static variable in class com.amirhn.GUI.Constants
+
+
The constant TransparentColor.
+
+
turn - Variable in class com.amirhn.Game.Chess
+
+
The Turn.
+
+
type - Variable in class com.amirhn.Moves.Move
+
+
The Type.
+
+
type - Variable in class com.amirhn.Pieces.Piece
+
+
The Type.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-2.html b/docs/index-files/index-2.html new file mode 100644 index 0000000..54f68aa --- /dev/null +++ b/docs/index-files/index-2.html @@ -0,0 +1,101 @@ + + + + +B-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

B

+
+
Bishop - Class in com.amirhn.Pieces
+
+
The type Bishop.
+
+
Bishop(Color, Location) - Constructor for class com.amirhn.Pieces.Bishop
+
+
Instantiates a new Bishop.
+
+
BISHOP - Enum constant in enum class com.amirhn.Pieces.PieceType
+
+
Bishop piece type.
+
+
BLACK - Enum constant in enum class com.amirhn.Game.Color
+
+
Black color.
+
+
blackPlayer - Variable in class com.amirhn.Game.Chess
+
+
The Black player.
+
+
Board - Class in com.amirhn.Game
+
+
The type Board.
+
+
Board(int, int) - Constructor for class com.amirhn.Game.Board
+
+
Instantiates a new Board.
+
+
BoardPanel - Class in com.amirhn.GUI.Components
+
+
The type Board panel.
+
+
BoardPanel(int, int) - Constructor for class com.amirhn.GUI.Components.BoardPanel
+
+
Instantiates a new Board panel.
+
+
byOffset(int, int) - Method in class com.amirhn.Game.Location
+
+
By offset location.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-20.html b/docs/index-files/index-20.html new file mode 100644 index 0000000..f09e285 --- /dev/null +++ b/docs/index-files/index-20.html @@ -0,0 +1,97 @@ + + + + +U-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

U

+
+
undoMove() - Method in class com.amirhn.Game.Chess
+
+
Undo move.
+
+
undoMove() - Method in class com.amirhn.GUI.ChessController
+
+
Undo move.
+
+
undoMove() - Method in interface com.amirhn.GUI.ChessMenuController
+
+
Undo move.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.Capture
+
+
Undo on board.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.Castling
+
+
Undo on board.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.EnPassant
+
+
Undo on board.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.Move
+
+
Undo on board.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.Promotion
+
+
Undo on board.
+
+
undoOnBoard(Board) - Method in class com.amirhn.Moves.Walk
+
+
Undo on board.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-21.html b/docs/index-files/index-21.html new file mode 100644 index 0000000..454e904 --- /dev/null +++ b/docs/index-files/index-21.html @@ -0,0 +1,126 @@ + + + + +V-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

V

+
+
valueOf(char) - Static method in enum class com.amirhn.Game.Color
+
+
Value of color.
+
+
valueOf(char) - Static method in enum class com.amirhn.Pieces.PieceType
+
+
Value of piece type.
+
+
valueOf(int, int) - Static method in class com.amirhn.Game.Location
+
+
Value of location.
+
+
valueOf(String) - Static method in enum class com.amirhn.Game.Color
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in class com.amirhn.Game.Location
+
+
Value of location.
+
+
valueOf(String) - Static method in enum class com.amirhn.Game.Status
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.amirhn.GUI.Components.LocationState
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.amirhn.Moves.MoveType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOf(String) - Static method in enum class com.amirhn.Pieces.PieceType
+
+
Returns the enum constant of this class with the specified name.
+
+
valueOfPieceChar(char) - Static method in enum class com.amirhn.Game.Color
+
+
Value of piece char color.
+
+
values() - Static method in enum class com.amirhn.Game.Color
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.amirhn.Game.Status
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.amirhn.GUI.Components.LocationState
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.amirhn.Moves.MoveType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
values() - Static method in enum class com.amirhn.Pieces.PieceType
+
+
Returns an array containing the constants of this enum class, in +the order they are declared.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-22.html b/docs/index-files/index-22.html new file mode 100644 index 0000000..25c1e50 --- /dev/null +++ b/docs/index-files/index-22.html @@ -0,0 +1,81 @@ + + + + +W-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

W

+
+
Walk - Class in com.amirhn.Moves
+
+
The type Walk.
+
+
Walk(Piece, Location) - Constructor for class com.amirhn.Moves.Walk
+
+
Instantiates a new Walk.
+
+
WALK - Enum constant in enum class com.amirhn.Moves.MoveType
+
+
Walk move type.
+
+
WHITE - Enum constant in enum class com.amirhn.Game.Color
+
+
White color.
+
+
whitePlayer - Variable in class com.amirhn.Game.Chess
+
+
The White player.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-23.html b/docs/index-files/index-23.html new file mode 100644 index 0000000..ea082bc --- /dev/null +++ b/docs/index-files/index-23.html @@ -0,0 +1,65 @@ + + + + +Y-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

Y

+
+
YellowGreenColor - Static variable in class com.amirhn.GUI.Constants
+
+
The constant YellowGreenColor.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-3.html b/docs/index-files/index-3.html new file mode 100644 index 0000000..aab154b --- /dev/null +++ b/docs/index-files/index-3.html @@ -0,0 +1,199 @@ + + + + +C-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

C

+
+
canBeCapturedBy(Piece) - Method in class com.amirhn.Pieces.King
+
+
Can be captured by boolean.
+
+
canBeCapturedBy(Piece) - Method in class com.amirhn.Pieces.Piece
+
+
Can be captured by boolean.
+
+
Capture - Class in com.amirhn.Moves
+
+
The type Capture.
+
+
Capture(Piece, Piece) - Constructor for class com.amirhn.Moves.Capture
+
+
Instantiates a new Capture.
+
+
CAPTURE - Enum constant in enum class com.amirhn.Moves.MoveType
+
+
Capture move type.
+
+
capturedPieces - Variable in class com.amirhn.Players.Player
+
+
The Captured pieces.
+
+
capturePiece - Variable in class com.amirhn.Moves.Capture
+
+
The Capture piece.
+
+
CaptureSoundPath - Static variable in class com.amirhn.GUI.Constants
+
+
The constant CaptureSoundPath.
+
+
Castling - Class in com.amirhn.Moves
+
+
The type Castling.
+
+
Castling(Walk, Walk) - Constructor for class com.amirhn.Moves.Castling
+
+
Instantiates a new Castling.
+
+
CASTLING - Enum constant in enum class com.amirhn.Moves.MoveType
+
+
Castling move type.
+
+
CHECKMATE - Enum constant in enum class com.amirhn.Game.Status
+
+
Checkmate status.
+
+
Chess - Class in com.amirhn.Game
+
+
The type Chess.
+
+
Chess() - Constructor for class com.amirhn.Game.Chess
+
+
Instantiates a new Chess.
+
+
Chess(String) - Constructor for class com.amirhn.Game.Chess
+
+
Instantiates a new Chess.
+
+
ChessController - Class in com.amirhn.GUI
+
+
The type Chess controller.
+
+
ChessController(Chess, BoardPanel) - Constructor for class com.amirhn.GUI.ChessController
+
+
Instantiates a new Chess controller.
+
+
ChessFrame - Class in com.amirhn.GUI
+
+
The type Chess frame.
+
+
ChessFrame() - Constructor for class com.amirhn.GUI.ChessFrame
+
+
Instantiates a new Chess frame.
+
+
ChessMenuBar - Class in com.amirhn.GUI
+
+
The type Chess menu bar.
+
+
ChessMenuBar(ChessMenuController) - Constructor for class com.amirhn.GUI.ChessMenuBar
+
+
Instantiates a new Chess menu bar.
+
+
ChessMenuController - Interface in com.amirhn.GUI
+
+
The interface Chess menu controller.
+
+
color - Variable in enum class com.amirhn.GUI.Components.LocationState
+
+
The Color.
+
+
color - Variable in class com.amirhn.Pieces.Piece
+
+
The Color.
+
+
Color - Enum Class in com.amirhn.Game
+
+
The enum Color.
+
+
column - Variable in class com.amirhn.Game.Location
+
+
The Row.
+
+
columns - Variable in class com.amirhn.Game.Board
+
+
The Rows.
+
+
com.amirhn - package com.amirhn
+
 
+
com.amirhn.Game - package com.amirhn.Game
+
 
+
com.amirhn.GUI - package com.amirhn.GUI
+
 
+
com.amirhn.GUI.Components - package com.amirhn.GUI.Components
+
 
+
com.amirhn.GUI.Listeners - package com.amirhn.GUI.Listeners
+
 
+
com.amirhn.Moves - package com.amirhn.Moves
+
 
+
com.amirhn.Pieces - package com.amirhn.Pieces
+
 
+
com.amirhn.Players - package com.amirhn.Players
+
 
+
Constants - Class in com.amirhn.GUI
+
+
The type Constants.
+
+
Constants() - Constructor for class com.amirhn.GUI.Constants
+
 
+
copy() - Method in class com.amirhn.Game.Board
+
+
Copy board.
+
+
copy() - Method in class com.amirhn.Pieces.Piece
+
+
Copy piece.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-4.html b/docs/index-files/index-4.html new file mode 100644 index 0000000..1e38f36 --- /dev/null +++ b/docs/index-files/index-4.html @@ -0,0 +1,85 @@ + + + + +D-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

D

+
+
DarkTileColor - Static variable in class com.amirhn.GUI.Constants
+
+
The constant DarkTileColor.
+
+
destination - Variable in class com.amirhn.Moves.Capture
+
+
The Destination.
+
+
destination - Variable in class com.amirhn.Moves.Walk
+
+
The Destination.
+
+
direction - Variable in enum class com.amirhn.Game.Color
+
+
The Direction.
+
+
direction - Variable in class com.amirhn.Pieces.Pawn
+
+
The Direction.
+
+
DRAW - Enum constant in enum class com.amirhn.Game.Status
+
+
Draw status.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-5.html b/docs/index-files/index-5.html new file mode 100644 index 0000000..359cbd9 --- /dev/null +++ b/docs/index-files/index-5.html @@ -0,0 +1,85 @@ + + + + +E-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

E

+
+
EnPassant - Class in com.amirhn.Moves
+
+
The type En passant.
+
+
EnPassant(Pawn, Pawn) - Constructor for class com.amirhn.Moves.EnPassant
+
+
Instantiates a new En passant.
+
+
equals(Object) - Method in class com.amirhn.Game.Board
+
+
Equals boolean.
+
+
equals(Object) - Method in class com.amirhn.Game.Location
+
+
Equals boolean.
+
+
equals(Object) - Method in class com.amirhn.Game.Scene
+
+
Equals boolean.
+
+
equals(Object) - Method in class com.amirhn.Pieces.Piece
+
+
Equals boolean.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-6.html b/docs/index-files/index-6.html new file mode 100644 index 0000000..3417c78 --- /dev/null +++ b/docs/index-files/index-6.html @@ -0,0 +1,69 @@ + + + + +F-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

F

+
+
fromFEN(String) - Static method in class com.amirhn.Game.Board
+
+
From fen board.
+
+
fromString(String) - Static method in enum class com.amirhn.Game.Color
+
+
From string color.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-7.html b/docs/index-files/index-7.html new file mode 100644 index 0000000..dd72b23 --- /dev/null +++ b/docs/index-files/index-7.html @@ -0,0 +1,273 @@ + + + + +G-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

G

+
+
GameTitle - Static variable in class com.amirhn.GUI.Constants
+
+
The constant GameTitle.
+
+
generate(char, Location) - Static method in class com.amirhn.Pieces.Piece
+
+
Generate piece.
+
+
generate(King, Rook) - Static method in class com.amirhn.Moves.Castling
+
+
Generate castling.
+
+
generate(PieceType, Color, Location) - Static method in class com.amirhn.Pieces.Piece
+
+
Generate piece.
+
+
getActivePieces(Board) - Method in class com.amirhn.Players.Player
+
+
Gets active pieces.
+
+
getAllowedMoves() - Method in class com.amirhn.Game.Chess
+
+
Gets allowed moves.
+
+
getAllowedMoves(Chess) - Method in class com.amirhn.Pieces.Piece
+
+
Gets allowed moves.
+
+
getAllowedMoves(Chess) - Method in class com.amirhn.Players.Player
+
+
Gets allowed moves.
+
+
getAllPieces() - Method in class com.amirhn.Game.Board
+
+
Gets all pieces.
+
+
getBoard() - Method in class com.amirhn.Game.Chess
+
+
Gets board.
+
+
getBoard() - Method in class com.amirhn.Game.Scene
+
+
Gets board.
+
+
getColor() - Method in class com.amirhn.Players.Player
+
+
Gets color.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.Capture
+
+
Gets endpoint location.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.Castling
+
+
Gets endpoint location.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.EnPassant
+
+
Gets endpoint location.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.Move
+
+
Gets endpoint location.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.Promotion
+
+
Gets endpoint location.
+
+
getEndpointLocation() - Method in class com.amirhn.Moves.Walk
+
+
Gets endpoint location.
+
+
getKing(Board) - Method in class com.amirhn.Players.Player
+
+
Gets king.
+
+
getKingSideRook(Board) - Method in class com.amirhn.Players.Player
+
+
Gets king side rook.
+
+
getLocation() - Method in class com.amirhn.Pieces.Piece
+
+
Gets location.
+
+
getLocationPanel(int, int) - Method in class com.amirhn.GUI.Components.TablePanel
+
+
Gets location panel.
+
+
getLocationPanel(Location) - Method in class com.amirhn.GUI.Components.TablePanel
+
+
Gets location panel.
+
+
getNaturalMoves(Board) - Method in class com.amirhn.Pieces.King
+
+
Gets natural moves.
+
+
getNaturalMoves(Board) - Method in class com.amirhn.Pieces.Pawn
+
+
Gets natural moves.
+
+
getNaturalMoves(Board) - Method in class com.amirhn.Pieces.Piece
+
+
Gets natural moves.
+
+
getNaturalMoves(Board) - Method in class com.amirhn.Players.Player
+
+
Gets natural moves.
+
+
getOpponentPlayer() - Method in class com.amirhn.Game.Chess
+
+
Gets opponent player.
+
+
getPiece(Location) - Method in class com.amirhn.Game.Board
+
+
Gets piece.
+
+
getPieces(Board, PieceType) - Method in class com.amirhn.Players.Player
+
+
Gets pieces.
+
+
getPlayer(Color) - Method in class com.amirhn.Game.Chess
+
+
Gets player.
+
+
getQueenSideRook(Board) - Method in class com.amirhn.Players.Player
+
+
Gets queen side rook.
+
+
getRandomMove() - Method in class com.amirhn.Game.Chess
+
+
Gets random move.
+
+
getRooks(Board) - Method in class com.amirhn.Players.Player
+
+
Gets rooks.
+
+
getStartpointLocation() - Method in class com.amirhn.Moves.Capture
+
+
Gets startpoint location.
+
+
getStartpointLocation() - Method in class com.amirhn.Moves.Castling
+
+
Gets startpoint location.
+
+
getStartpointLocation() - Method in class com.amirhn.Moves.Move
+
+
Gets startpoint location.
+
+
getStartpointLocation() - Method in class com.amirhn.Moves.Promotion
+
+
Gets startpoint location.
+
+
getStartpointLocation() - Method in class com.amirhn.Moves.Walk
+
+
Gets startpoint location.
+
+
getStatus() - Method in class com.amirhn.Game.Chess
+
+
Gets status.
+
+
getSymbol() - Method in class com.amirhn.Pieces.Piece
+
+
Gets symbol.
+
+
getSymbol(Color) - Method in enum class com.amirhn.Pieces.PieceType
+
+
Gets symbol.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Bishop
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.King
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Knight
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Pawn
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Piece
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Queen
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Pieces.Rook
+
+
Gets threatened locations.
+
+
getThreatenedLocations(Board) - Method in class com.amirhn.Players.Player
+
+
Gets threatened locations.
+
+
getTurn() - Method in class com.amirhn.Game.Scene
+
+
Gets turn.
+
+
getTurnPlayer() - Method in class com.amirhn.Game.Chess
+
+
Gets turn player.
+
+
GreenColor - Static variable in class com.amirhn.GUI.Constants
+
+
The constant GreenColor.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-8.html b/docs/index-files/index-8.html new file mode 100644 index 0000000..a69ce8a --- /dev/null +++ b/docs/index-files/index-8.html @@ -0,0 +1,85 @@ + + + + +H-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

H

+
+
hadLongCastling - Variable in class com.amirhn.Players.Player
+
+
The Had long castling.
+
+
hadShortCastling - Variable in class com.amirhn.Players.Player
+
+
The Had short castling.
+
+
hashCode() - Method in class com.amirhn.Game.Location
+
+
Hash code int.
+
+
hashCode() - Method in class com.amirhn.Pieces.Piece
+
+
Hash code int.
+
+
hasMoved() - Method in class com.amirhn.Pieces.Piece
+
+
Has moved boolean.
+
+
history - Variable in class com.amirhn.Game.Chess
+
+
The History.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index-files/index-9.html b/docs/index-files/index-9.html new file mode 100644 index 0000000..e0b5b23 --- /dev/null +++ b/docs/index-files/index-9.html @@ -0,0 +1,161 @@ + + + + +I-Index + + + + + + + + + + + + + + +
+ +
+
+
+

Index

+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form +

I

+
+
is50MoveRule() - Method in class com.amirhn.Game.Chess
+
+
Is 50 move rule boolean.
+
+
isAllowed(Chess) - Method in class com.amirhn.Moves.Castling
+
+
Is allowed boolean.
+
+
isAllowed(Chess) - Method in class com.amirhn.Moves.EnPassant
+
+
Is allowed boolean.
+
+
isAllowed(Chess) - Method in class com.amirhn.Moves.Move
+
+
Is allowed boolean.
+
+
isAllowed(Chess) - Method in class com.amirhn.Moves.PawnPromotion
+
+
Is allowed boolean.
+
+
isAllowedToMove(Chess) - Method in class com.amirhn.Pieces.Piece
+
+
Is allowed to move boolean.
+
+
isCheckmate() - Method in class com.amirhn.Game.Chess
+
+
Is checkmate boolean.
+
+
isDraw() - Method in class com.amirhn.Game.Chess
+
+
Is draw boolean.
+
+
isInCheck() - Method in class com.amirhn.Game.Chess
+
+
Is in check boolean.
+
+
isLight() - Method in class com.amirhn.Game.Location
+
+
Is light boolean.
+
+
isLocationDraggable(Location) - Method in class com.amirhn.GUI.ChessController
+
+
Is location draggable boolean.
+
+
isLocationDraggable(Location) - Method in interface com.amirhn.GUI.Listeners.LocationListener
+
+
Is location draggable boolean.
+
+
isOccupied(Location) - Method in class com.amirhn.Game.Board
+
+
Is occupied boolean.
+
+
isStalemate() - Method in class com.amirhn.Game.Chess
+
+
Is stalemate boolean.
+
+
isThreatening(Board, Location) - Method in class com.amirhn.Players.Player
+
+
Is threatening boolean.
+
+
isThreefoldRepetition() - Method in class com.amirhn.Game.Chess
+
+
Is threefold repetition boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.Capture
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.Castling
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.EnPassant
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.Move
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.PawnPromotion
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.Promotion
+
+
Is valid apply on board boolean.
+
+
isValidApplyOnBoard(Board) - Method in class com.amirhn.Moves.Walk
+
+
Is valid apply on board boolean.
+
+
isValidLocation(Location) - Method in class com.amirhn.Game.Board
+
+
Is valid location boolean.
+
+
isValidPiece(Piece) - Method in class com.amirhn.Game.Board
+
+
Is valid piece boolean.
+
+
+A B C D E F G H I K L M N O P Q R S T U V W Y 
All Classes and Interfaces|All Packages|Constant Field Values|Serialized Form
+
+
+ + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..cb03f50 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,77 @@ + + + + +Overview + + + + + + + + + + + + + + +
+ +
+
+ +
+
+
+ + diff --git a/docs/legal/ADDITIONAL_LICENSE_INFO b/docs/legal/ADDITIONAL_LICENSE_INFO new file mode 100644 index 0000000..ff700cd --- /dev/null +++ b/docs/legal/ADDITIONAL_LICENSE_INFO @@ -0,0 +1,37 @@ + ADDITIONAL INFORMATION ABOUT LICENSING + +Certain files distributed by Oracle America, Inc. and/or its affiliates are +subject to the following clarification and special exception to the GPLv2, +based on the GNU Project exception for its Classpath libraries, known as the +GNU Classpath Exception. + +Note that Oracle includes multiple, independent programs in this software +package. Some of those programs are provided under licenses deemed +incompatible with the GPLv2 by the Free Software Foundation and others. +For example, the package includes programs licensed under the Apache +License, Version 2.0 and may include FreeType. Such programs are licensed +to you under their original licenses. + +Oracle facilitates your further distribution of this package by adding the +Classpath Exception to the necessary parts of its GPLv2 code, which permits +you to use that code in combination with other independent modules not +licensed under the GPLv2. However, note that this would not permit you to +commingle code under an incompatible license with Oracle's GPLv2 licensed +code by, for example, cutting and pasting such code into a file also +containing Oracle's GPLv2 licensed code and then distributing the result. + +Additionally, if you were to remove the Classpath Exception from any of the +files to which it applies and distribute the result, you would likely be +required to license some or all of the other code in that distribution under +the GPLv2 as well, and since the GPLv2 is incompatible with the license terms +of some items included in the distribution by Oracle, removing the Classpath +Exception could therefore effectively compromise your ability to further +distribute the package. + +Failing to distribute notices associated with some files may also create +unexpected legal consequences. + +Proceed with caution and we recommend that you obtain the advice of a lawyer +skilled in open source matters before removing the Classpath Exception or +making modifications to this package which may subsequently be redistributed +and/or involve the use of third party software. diff --git a/docs/legal/ASSEMBLY_EXCEPTION b/docs/legal/ASSEMBLY_EXCEPTION new file mode 100644 index 0000000..4296666 --- /dev/null +++ b/docs/legal/ASSEMBLY_EXCEPTION @@ -0,0 +1,27 @@ + +OPENJDK ASSEMBLY EXCEPTION + +The OpenJDK source code made available by Oracle America, Inc. (Oracle) at +openjdk.org ("OpenJDK Code") is distributed under the terms of the GNU +General Public License version 2 +only ("GPL2"), with the following clarification and special exception. + + Linking this OpenJDK Code statically or dynamically with other code + is making a combined work based on this library. Thus, the terms + and conditions of GPL2 cover the whole combination. + + As a special exception, Oracle gives you permission to link this + OpenJDK Code with certain code licensed by Oracle as indicated at + https://openjdk.org/legal/exception-modules-2007-05-08.html + ("Designated Exception Modules") to produce an executable, + regardless of the license terms of the Designated Exception Modules, + and to copy and distribute the resulting executable under GPL2, + provided that the Designated Exception Modules continue to be + governed by the licenses under which they were offered by Oracle. + +As such, it allows licensees and sublicensees of Oracle's GPL2 OpenJDK Code +to build an executable that includes those portions of necessary code that +Oracle could not provide under GPL2 (or that Oracle has provided under GPL2 +with the Classpath exception). If you modify or add to the OpenJDK code, +that new GPL2 code may still be combined with Designated Exception Modules +if the new code is made subject to this exception by its copyright holder. diff --git a/docs/legal/LICENSE b/docs/legal/LICENSE new file mode 100644 index 0000000..8b400c7 --- /dev/null +++ b/docs/legal/LICENSE @@ -0,0 +1,347 @@ +The GNU General Public License (GPL) + +Version 2, June 1991 + +Copyright (C) 1989, 1991 Free Software Foundation, Inc. +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +Everyone is permitted to copy and distribute verbatim copies of this license +document, but changing it is not allowed. + +Preamble + +The licenses for most software are designed to take away your freedom to share +and change it. By contrast, the GNU General Public License is intended to +guarantee your freedom to share and change free software--to make sure the +software is free for all its users. This General Public License applies to +most of the Free Software Foundation's software and to any other program whose +authors commit to using it. (Some other Free Software Foundation software is +covered by the GNU Library General Public License instead.) You can apply it to +your programs, too. + +When we speak of free software, we are referring to freedom, not price. Our +General Public Licenses are designed to make sure that you have the freedom to +distribute copies of free software (and charge for this service if you wish), +that you receive source code or can get it if you want it, that you can change +the software or use pieces of it in new free programs; and that you know you +can do these things. + +To protect your rights, we need to make restrictions that forbid anyone to deny +you these rights or to ask you to surrender the rights. These restrictions +translate to certain responsibilities for you if you distribute copies of the +software, or if you modify it. + +For example, if you distribute copies of such a program, whether gratis or for +a fee, you must give the recipients all the rights that you have. You must +make sure that they, too, receive or can get the source code. And you must +show them these terms so they know their rights. + +We protect your rights with two steps: (1) copyright the software, and (2) +offer you this license which gives you legal permission to copy, distribute +and/or modify the software. + +Also, for each author's protection and ours, we want to make certain that +everyone understands that there is no warranty for this free software. If the +software is modified by someone else and passed on, we want its recipients to +know that what they have is not the original, so that any problems introduced +by others will not reflect on the original authors' reputations. + +Finally, any free program is threatened constantly by software patents. We +wish to avoid the danger that redistributors of a free program will +individually obtain patent licenses, in effect making the program proprietary. +To prevent this, we have made it clear that any patent must be licensed for +everyone's free use or not licensed at all. + +The precise terms and conditions for copying, distribution and modification +follow. + +TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + +0. This License applies to any program or other work which contains a notice +placed by the copyright holder saying it may be distributed under the terms of +this General Public License. The "Program", below, refers to any such program +or work, and a "work based on the Program" means either the Program or any +derivative work under copyright law: that is to say, a work containing the +Program or a portion of it, either verbatim or with modifications and/or +translated into another language. (Hereinafter, translation is included +without limitation in the term "modification".) Each licensee is addressed as +"you". + +Activities other than copying, distribution and modification are not covered by +this License; they are outside its scope. The act of running the Program is +not restricted, and the output from the Program is covered only if its contents +constitute a work based on the Program (independent of having been made by +running the Program). Whether that is true depends on what the Program does. + +1. You may copy and distribute verbatim copies of the Program's source code as +you receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice and +disclaimer of warranty; keep intact all the notices that refer to this License +and to the absence of any warranty; and give any other recipients of the +Program a copy of this License along with the Program. + +You may charge a fee for the physical act of transferring a copy, and you may +at your option offer warranty protection in exchange for a fee. + +2. You may modify your copy or copies of the Program or any portion of it, thus +forming a work based on the Program, and copy and distribute such modifications +or work under the terms of Section 1 above, provided that you also meet all of +these conditions: + + a) You must cause the modified files to carry prominent notices stating + that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in whole or + in part contains or is derived from the Program or any part thereof, to be + licensed as a whole at no charge to all third parties under the terms of + this License. + + c) If the modified program normally reads commands interactively when run, + you must cause it, when started running for such interactive use in the + most ordinary way, to print or display an announcement including an + appropriate copyright notice and a notice that there is no warranty (or + else, saying that you provide a warranty) and that users may redistribute + the program under these conditions, and telling the user how to view a copy + of this License. (Exception: if the Program itself is interactive but does + not normally print such an announcement, your work based on the Program is + not required to print an announcement.) + +These requirements apply to the modified work as a whole. If identifiable +sections of that work are not derived from the Program, and can be reasonably +considered independent and separate works in themselves, then this License, and +its terms, do not apply to those sections when you distribute them as separate +works. But when you distribute the same sections as part of a whole which is a +work based on the Program, the distribution of the whole must be on the terms +of this License, whose permissions for other licensees extend to the entire +whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest your +rights to work written entirely by you; rather, the intent is to exercise the +right to control the distribution of derivative or collective works based on +the Program. + +In addition, mere aggregation of another work not based on the Program with the +Program (or with a work based on the Program) on a volume of a storage or +distribution medium does not bring the other work under the scope of this +License. + +3. You may copy and distribute the Program (or a work based on it, under +Section 2) in object code or executable form under the terms of Sections 1 and +2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable source + code, which must be distributed under the terms of Sections 1 and 2 above + on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three years, to + give any third party, for a charge no more than your cost of physically + performing source distribution, a complete machine-readable copy of the + corresponding source code, to be distributed under the terms of Sections 1 + and 2 above on a medium customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer to + distribute corresponding source code. (This alternative is allowed only + for noncommercial distribution and only if you received the program in + object code or executable form with such an offer, in accord with + Subsection b above.) + +The source code for a work means the preferred form of the work for making +modifications to it. For an executable work, complete source code means all +the source code for all modules it contains, plus any associated interface +definition files, plus the scripts used to control compilation and installation +of the executable. However, as a special exception, the source code +distributed need not include anything that is normally distributed (in either +source or binary form) with the major components (compiler, kernel, and so on) +of the operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the source +code from the same place counts as distribution of the source code, even though +third parties are not compelled to copy the source along with the object code. + +4. You may not copy, modify, sublicense, or distribute the Program except as +expressly provided under this License. Any attempt otherwise to copy, modify, +sublicense or distribute the Program is void, and will automatically terminate +your rights under this License. However, parties who have received copies, or +rights, from you under this License will not have their licenses terminated so +long as such parties remain in full compliance. + +5. You are not required to accept this License, since you have not signed it. +However, nothing else grants you permission to modify or distribute the Program +or its derivative works. These actions are prohibited by law if you do not +accept this License. Therefore, by modifying or distributing the Program (or +any work based on the Program), you indicate your acceptance of this License to +do so, and all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + +6. Each time you redistribute the Program (or any work based on the Program), +the recipient automatically receives a license from the original licensor to +copy, distribute or modify the Program subject to these terms and conditions. +You may not impose any further restrictions on the recipients' exercise of the +rights granted herein. You are not responsible for enforcing compliance by +third parties to this License. + +7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), conditions +are imposed on you (whether by court order, agreement or otherwise) that +contradict the conditions of this License, they do not excuse you from the +conditions of this License. If you cannot distribute so as to satisfy +simultaneously your obligations under this License and any other pertinent +obligations, then as a consequence you may not distribute the Program at all. +For example, if a patent license would not permit royalty-free redistribution +of the Program by all those who receive copies directly or indirectly through +you, then the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply and +the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any patents or +other property right claims or to contest validity of any such claims; this +section has the sole purpose of protecting the integrity of the free software +distribution system, which is implemented by public license practices. Many +people have made generous contributions to the wide range of software +distributed through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing to +distribute software through any other system and a licensee cannot impose that +choice. + +This section is intended to make thoroughly clear what is believed to be a +consequence of the rest of this License. + +8. If the distribution and/or use of the Program is restricted in certain +countries either by patents or by copyrighted interfaces, the original +copyright holder who places the Program under this License may add an explicit +geographical distribution limitation excluding those countries, so that +distribution is permitted only in or among countries not thus excluded. In +such case, this License incorporates the limitation as if written in the body +of this License. + +9. The Free Software Foundation may publish revised and/or new versions of the +General Public License from time to time. Such new versions will be similar in +spirit to the present version, but may differ in detail to address new problems +or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any later +version", you have the option of following the terms and conditions either of +that version or of any later version published by the Free Software Foundation. +If the Program does not specify a version number of this License, you may +choose any version ever published by the Free Software Foundation. + +10. If you wish to incorporate parts of the Program into other free programs +whose distribution conditions are different, write to the author to ask for +permission. For software which is copyrighted by the Free Software Foundation, +write to the Free Software Foundation; we sometimes make exceptions for this. +Our decision will be guided by the two goals of preserving the free status of +all derivatives of our free software and of promoting the sharing and reuse of +software generally. + +NO WARRANTY + +11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR +THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE +STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE +PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND +PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, +YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + +12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL +ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE +PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR +INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA +BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER +OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +END OF TERMS AND CONDITIONS + +How to Apply These Terms to Your New Programs + +If you develop a new program, and you want it to be of the greatest possible +use to the public, the best way to achieve this is to make it free software +which everyone can redistribute and change under these terms. + +To do so, attach the following notices to the program. It is safest to attach +them to the start of each source file to most effectively convey the exclusion +of warranty; and each file should have at least the "copyright" line and a +pointer to where the full notice is found. + + One line to give the program's name and a brief idea of what it does. + + Copyright (C) + + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this when it +starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author Gnomovision comes + with ABSOLUTELY NO WARRANTY; for details type 'show w'. This is free + software, and you are welcome to redistribute it under certain conditions; + type 'show c' for details. + +The hypothetical commands 'show w' and 'show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may be +called something other than 'show w' and 'show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your school, +if any, to sign a "copyright disclaimer" for the program, if necessary. Here +is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + 'Gnomovision' (which makes passes at compilers) written by James Hacker. + + signature of Ty Coon, 1 April 1989 + + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General Public +License instead of this License. + + +"CLASSPATH" EXCEPTION TO THE GPL + +Certain source files distributed by Oracle America and/or its affiliates are +subject to the following clarification and special exception to the GPL, but +only where Oracle has expressly included in the particular source file's header +the words "Oracle designates this particular file as subject to the "Classpath" +exception as provided by Oracle in the LICENSE file that accompanied this code." + + Linking this library statically or dynamically with other modules is making + a combined work based on this library. Thus, the terms and conditions of + the GNU General Public License cover the whole combination. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your + choice, provided that you also meet, for each linked independent module, + the terms and conditions of the license of that module. An independent + module is a module which is not derived from or based on this library. If + you modify this library, you may extend this exception to your version of + the library, but you are not obligated to do so. If you do not wish to do + so, delete this exception statement from your version. diff --git a/docs/legal/jquery.md b/docs/legal/jquery.md new file mode 100644 index 0000000..d468b31 --- /dev/null +++ b/docs/legal/jquery.md @@ -0,0 +1,72 @@ +## jQuery v3.6.1 + +### jQuery License +``` +jQuery v 3.6.1 +Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +****************************************** + +The jQuery JavaScript Library v3.6.1 also includes Sizzle.js + +Sizzle.js includes the following license: + +Copyright JS Foundation and other contributors, https://js.foundation/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/sizzle + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +********************* + +``` diff --git a/docs/legal/jqueryUI.md b/docs/legal/jqueryUI.md new file mode 100644 index 0000000..8bda9d7 --- /dev/null +++ b/docs/legal/jqueryUI.md @@ -0,0 +1,49 @@ +## jQuery UI v1.13.2 + +### jQuery UI License +``` +Copyright jQuery Foundation and other contributors, https://jquery.org/ + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/jquery/jquery-ui + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code contained within the demos directory. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +All files located in the node_modules and external directories are +externally maintained libraries used by this software which have their +own licenses; we recommend you read them, as their terms may differ from +the terms above. + +``` diff --git a/docs/link.svg b/docs/link.svg new file mode 100644 index 0000000..7ccc5ed --- /dev/null +++ b/docs/link.svg @@ -0,0 +1,31 @@ + + + + + + + + diff --git a/docs/member-search-index.js b/docs/member-search-index.js new file mode 100644 index 0000000..0ecd95a --- /dev/null +++ b/docs/member-search-index.js @@ -0,0 +1 @@ +memberSearchIndex = [{"p":"com.amirhn.GUI","c":"ChessMenuBar","l":"actionPerformed(ActionEvent)","u":"actionPerformed(java.awt.event.ActionEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"addPiecePanel(PiecePanel, Location)","u":"addPiecePanel(com.amirhn.GUI.Components.PiecePanel,com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Chess","l":"applyMove(Move)","u":"applyMove(com.amirhn.Moves.Move)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"applyMove(Move)","u":"applyMove(com.amirhn.Moves.Move)"},{"p":"com.amirhn.Moves","c":"Capture","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Castling","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Move","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Promotion","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Walk","l":"applyOnBoard(Board)","u":"applyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"applyRandomMove()"},{"p":"com.amirhn.GUI","c":"ChessMenuController","l":"applyRandomMove()"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"BISHOP"},{"p":"com.amirhn.Pieces","c":"Bishop","l":"Bishop(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Color","l":"BLACK"},{"p":"com.amirhn.Game","c":"Chess","l":"blackPlayer"},{"p":"com.amirhn.Game","c":"Board","l":"Board(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"BoardPanel(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"com.amirhn.Game","c":"Location","l":"byOffset(int, int)","u":"byOffset(int,int)"},{"p":"com.amirhn.Pieces","c":"King","l":"canBeCapturedBy(Piece)","u":"canBeCapturedBy(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"canBeCapturedBy(Piece)","u":"canBeCapturedBy(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Moves","c":"MoveType","l":"CAPTURE"},{"p":"com.amirhn.Moves","c":"Capture","l":"Capture(Piece, Piece)","u":"%3Cinit%3E(com.amirhn.Pieces.Piece,com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Players","c":"Player","l":"capturedPieces"},{"p":"com.amirhn.Moves","c":"Capture","l":"capturePiece"},{"p":"com.amirhn.GUI","c":"Constants","l":"CaptureSoundPath"},{"p":"com.amirhn.Moves","c":"MoveType","l":"CASTLING"},{"p":"com.amirhn.Moves","c":"Castling","l":"Castling(Walk, Walk)","u":"%3Cinit%3E(com.amirhn.Moves.Walk,com.amirhn.Moves.Walk)"},{"p":"com.amirhn.Game","c":"Status","l":"CHECKMATE"},{"p":"com.amirhn.Game","c":"Chess","l":"Chess()","u":"%3Cinit%3E()"},{"p":"com.amirhn.Game","c":"Chess","l":"Chess(String)","u":"%3Cinit%3E(java.lang.String)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"ChessController(Chess, BoardPanel)","u":"%3Cinit%3E(com.amirhn.Game.Chess,com.amirhn.GUI.Components.BoardPanel)"},{"p":"com.amirhn.GUI","c":"ChessFrame","l":"ChessFrame()","u":"%3Cinit%3E()"},{"p":"com.amirhn.GUI","c":"ChessMenuBar","l":"ChessMenuBar(ChessMenuController)","u":"%3Cinit%3E(com.amirhn.GUI.ChessMenuController)"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"color"},{"p":"com.amirhn.Pieces","c":"Piece","l":"color"},{"p":"com.amirhn.Game","c":"Location","l":"column"},{"p":"com.amirhn.Game","c":"Board","l":"columns"},{"p":"com.amirhn.GUI","c":"Constants","l":"Constants()","u":"%3Cinit%3E()"},{"p":"com.amirhn.Game","c":"Board","l":"copy()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"copy()"},{"p":"com.amirhn.GUI","c":"Constants","l":"DarkTileColor"},{"p":"com.amirhn.Moves","c":"Capture","l":"destination"},{"p":"com.amirhn.Moves","c":"Walk","l":"destination"},{"p":"com.amirhn.Game","c":"Color","l":"direction"},{"p":"com.amirhn.Pieces","c":"Pawn","l":"direction"},{"p":"com.amirhn.Game","c":"Status","l":"DRAW"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"EnPassant(Pawn, Pawn)","u":"%3Cinit%3E(com.amirhn.Pieces.Pawn,com.amirhn.Pieces.Pawn)"},{"p":"com.amirhn.Game","c":"Board","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.amirhn.Game","c":"Location","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.amirhn.Game","c":"Scene","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"equals(Object)","u":"equals(java.lang.Object)"},{"p":"com.amirhn.Game","c":"Board","l":"fromFEN(String)","u":"fromFEN(java.lang.String)"},{"p":"com.amirhn.Game","c":"Color","l":"fromString(String)","u":"fromString(java.lang.String)"},{"p":"com.amirhn.GUI","c":"Constants","l":"GameTitle"},{"p":"com.amirhn.Pieces","c":"Piece","l":"generate(char, Location)","u":"generate(char,com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"Castling","l":"generate(King, Rook)","u":"generate(com.amirhn.Pieces.King,com.amirhn.Pieces.Rook)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"generate(PieceType, Color, Location)","u":"generate(com.amirhn.Pieces.PieceType,com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Players","c":"Player","l":"getActivePieces(Board)","u":"getActivePieces(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Chess","l":"getAllowedMoves()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"getAllowedMoves(Chess)","u":"getAllowedMoves(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Players","c":"Player","l":"getAllowedMoves(Chess)","u":"getAllowedMoves(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Game","c":"Board","l":"getAllPieces()"},{"p":"com.amirhn.Game","c":"Chess","l":"getBoard()"},{"p":"com.amirhn.Game","c":"Scene","l":"getBoard()"},{"p":"com.amirhn.Players","c":"Player","l":"getColor()"},{"p":"com.amirhn.Moves","c":"Capture","l":"getEndpointLocation()"},{"p":"com.amirhn.Moves","c":"Castling","l":"getEndpointLocation()"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"getEndpointLocation()"},{"p":"com.amirhn.Moves","c":"Move","l":"getEndpointLocation()"},{"p":"com.amirhn.Moves","c":"Promotion","l":"getEndpointLocation()"},{"p":"com.amirhn.Moves","c":"Walk","l":"getEndpointLocation()"},{"p":"com.amirhn.Players","c":"Player","l":"getKing(Board)","u":"getKing(com.amirhn.Game.Board)"},{"p":"com.amirhn.Players","c":"Player","l":"getKingSideRook(Board)","u":"getKingSideRook(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"getLocation()"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"getLocationPanel(int, int)","u":"getLocationPanel(int,int)"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"getLocationPanel(Location)","u":"getLocationPanel(com.amirhn.Game.Location)"},{"p":"com.amirhn.Pieces","c":"King","l":"getNaturalMoves(Board)","u":"getNaturalMoves(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Pawn","l":"getNaturalMoves(Board)","u":"getNaturalMoves(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"getNaturalMoves(Board)","u":"getNaturalMoves(com.amirhn.Game.Board)"},{"p":"com.amirhn.Players","c":"Player","l":"getNaturalMoves(Board)","u":"getNaturalMoves(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Chess","l":"getOpponentPlayer()"},{"p":"com.amirhn.Game","c":"Board","l":"getPiece(Location)","u":"getPiece(com.amirhn.Game.Location)"},{"p":"com.amirhn.Players","c":"Player","l":"getPieces(Board, PieceType)","u":"getPieces(com.amirhn.Game.Board,com.amirhn.Pieces.PieceType)"},{"p":"com.amirhn.Game","c":"Chess","l":"getPlayer(Color)","u":"getPlayer(com.amirhn.Game.Color)"},{"p":"com.amirhn.Players","c":"Player","l":"getQueenSideRook(Board)","u":"getQueenSideRook(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Chess","l":"getRandomMove()"},{"p":"com.amirhn.Players","c":"Player","l":"getRooks(Board)","u":"getRooks(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Capture","l":"getStartpointLocation()"},{"p":"com.amirhn.Moves","c":"Castling","l":"getStartpointLocation()"},{"p":"com.amirhn.Moves","c":"Move","l":"getStartpointLocation()"},{"p":"com.amirhn.Moves","c":"Promotion","l":"getStartpointLocation()"},{"p":"com.amirhn.Moves","c":"Walk","l":"getStartpointLocation()"},{"p":"com.amirhn.Game","c":"Chess","l":"getStatus()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"getSymbol()"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"getSymbol(Color)","u":"getSymbol(com.amirhn.Game.Color)"},{"p":"com.amirhn.Pieces","c":"Bishop","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"King","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Knight","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Pawn","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Queen","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Pieces","c":"Rook","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Players","c":"Player","l":"getThreatenedLocations(Board)","u":"getThreatenedLocations(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Scene","l":"getTurn()"},{"p":"com.amirhn.Game","c":"Chess","l":"getTurnPlayer()"},{"p":"com.amirhn.GUI","c":"Constants","l":"GreenColor"},{"p":"com.amirhn.Players","c":"Player","l":"hadLongCastling"},{"p":"com.amirhn.Players","c":"Player","l":"hadShortCastling"},{"p":"com.amirhn.Game","c":"Location","l":"hashCode()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"hashCode()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"hasMoved()"},{"p":"com.amirhn.Game","c":"Chess","l":"history"},{"p":"com.amirhn.Game","c":"Chess","l":"is50MoveRule()"},{"p":"com.amirhn.Moves","c":"Castling","l":"isAllowed(Chess)","u":"isAllowed(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"isAllowed(Chess)","u":"isAllowed(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Moves","c":"Move","l":"isAllowed(Chess)","u":"isAllowed(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Moves","c":"PawnPromotion","l":"isAllowed(Chess)","u":"isAllowed(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"isAllowedToMove(Chess)","u":"isAllowedToMove(com.amirhn.Game.Chess)"},{"p":"com.amirhn.Game","c":"Chess","l":"isCheckmate()"},{"p":"com.amirhn.Game","c":"Chess","l":"isDraw()"},{"p":"com.amirhn.Game","c":"Chess","l":"isInCheck()"},{"p":"com.amirhn.Game","c":"Location","l":"isLight()"},{"p":"com.amirhn.GUI","c":"ChessController","l":"isLocationDraggable(Location)","u":"isLocationDraggable(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Listeners","c":"LocationListener","l":"isLocationDraggable(Location)","u":"isLocationDraggable(com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Board","l":"isOccupied(Location)","u":"isOccupied(com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Chess","l":"isStalemate()"},{"p":"com.amirhn.Players","c":"Player","l":"isThreatening(Board, Location)","u":"isThreatening(com.amirhn.Game.Board,com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Chess","l":"isThreefoldRepetition()"},{"p":"com.amirhn.Moves","c":"Capture","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Castling","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Move","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"PawnPromotion","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Promotion","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Walk","l":"isValidApplyOnBoard(Board)","u":"isValidApplyOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Board","l":"isValidLocation(Location)","u":"isValidLocation(com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Board","l":"isValidPiece(Piece)","u":"isValidPiece(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Moves","c":"Castling","l":"king"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"KING"},{"p":"com.amirhn.Pieces","c":"King","l":"King(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"Castling","l":"kingMove"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"KNIGHT"},{"p":"com.amirhn.Pieces","c":"Knight","l":"Knight(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Components","c":"PiecePanel","l":"label"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"LASTMOVE"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"letter"},{"p":"com.amirhn.GUI","c":"Constants","l":"LightTileColor"},{"p":"com.amirhn.GUI","c":"ChessController","l":"loadFEN()"},{"p":"com.amirhn.GUI","c":"ChessMenuController","l":"loadFEN()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"location"},{"p":"com.amirhn.Game","c":"Location","l":"Location(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"locationDropped(Location)","u":"locationDropped(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Listeners","c":"LocationListener","l":"locationDropped(Location)","u":"locationDropped(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"locationGrabbed(Location)","u":"locationGrabbed(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Listeners","c":"LocationListener","l":"locationGrabbed(Location)","u":"locationGrabbed(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"locationOf(Point)","u":"locationOf(java.awt.Point)"},{"p":"com.amirhn.GUI.Components","c":"LocationPanel","l":"LocationPanel(boolean)","u":"%3Cinit%3E(boolean)"},{"p":"com.amirhn.GUI","c":"ChessController","l":"locationSelected(Location)","u":"locationSelected(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Listeners","c":"LocationListener","l":"locationSelected(Location)","u":"locationSelected(com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"LongCastling","l":"LongCastling(King, Rook)","u":"%3Cinit%3E(com.amirhn.Pieces.King,com.amirhn.Pieces.Rook)"},{"p":"com.amirhn","c":"Main","l":"Main()","u":"%3Cinit%3E()"},{"p":"com.amirhn","c":"Main","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseClicked(MouseEvent)","u":"mouseClicked(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseDragged(MouseEvent)","u":"mouseDragged(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseEntered(MouseEvent)","u":"mouseEntered(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseExited(MouseEvent)","u":"mouseExited(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseMoved(MouseEvent)","u":"mouseMoved(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mousePressed(MouseEvent)","u":"mousePressed(java.awt.event.MouseEvent)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"mouseReleased(MouseEvent)","u":"mouseReleased(java.awt.event.MouseEvent)"},{"p":"com.amirhn.Moves","c":"Promotion","l":"move"},{"p":"com.amirhn.Moves","c":"Move","l":"Move(MoveType, Piece)","u":"%3Cinit%3E(com.amirhn.Moves.MoveType,com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Game","c":"Chess","l":"moveFromString(String)","u":"moveFromString(java.lang.String)"},{"p":"com.amirhn.Game","c":"Chess","l":"moves"},{"p":"com.amirhn.Pieces","c":"Piece","l":"moves"},{"p":"com.amirhn.GUI","c":"Constants","l":"MoveSoundPath"},{"p":"com.amirhn.GUI","c":"ChessController","l":"newGame()"},{"p":"com.amirhn.GUI","c":"ChessMenuController","l":"newGame()"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"NORMAL"},{"p":"com.amirhn.Game","c":"Status","l":"ONGOING"},{"p":"com.amirhn.Game","c":"Color","l":"opposite()"},{"p":"com.amirhn.Game","c":"Chess","l":"OriginalFen"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"PAWN"},{"p":"com.amirhn.Pieces","c":"Pawn","l":"Pawn(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"PawnPromotion","l":"PawnPromotion(Move, PieceType)","u":"%3Cinit%3E(com.amirhn.Moves.Move,com.amirhn.Pieces.PieceType)"},{"p":"com.amirhn.Moves","c":"Move","l":"piece"},{"p":"com.amirhn.Pieces","c":"Piece","l":"Piece(PieceType, Color, Location)","u":"%3Cinit%3E(com.amirhn.Pieces.PieceType,com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Board","l":"pieceByLocation"},{"p":"com.amirhn.GUI","c":"Constants","l":"PieceImageDirectory"},{"p":"com.amirhn.GUI.Components","c":"PieceImageIcon","l":"PieceImageIcon(String, char)","u":"%3Cinit%3E(java.lang.String,char)"},{"p":"com.amirhn.GUI.Components","c":"PiecePanel","l":"PiecePanel(PieceImageIcon)","u":"%3Cinit%3E(com.amirhn.GUI.Components.PieceImageIcon)"},{"p":"com.amirhn.GUI","c":"Constants","l":"PieceSize"},{"p":"com.amirhn.Players","c":"Player","l":"Player(Color)","u":"%3Cinit%3E(com.amirhn.Game.Color)"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"pointOf(Location)","u":"pointOf(com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"Promotion","l":"promotedPiece"},{"p":"com.amirhn.Moves","c":"MoveType","l":"PROMOTION"},{"p":"com.amirhn.Moves","c":"Promotion","l":"Promotion(Move, PieceType)","u":"%3Cinit%3E(com.amirhn.Moves.Move,com.amirhn.Pieces.PieceType)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"pushPawnMove"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"QUEEN"},{"p":"com.amirhn.Pieces","c":"Queen","l":"Queen(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"removeLocation()"},{"p":"com.amirhn.Pieces","c":"Queen","l":"removeLocation()"},{"p":"com.amirhn.Game","c":"Board","l":"removePiece(Piece)","u":"removePiece(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"removePiecePanels()"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"resetLocationStates()"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"resetLocationStates()"},{"p":"com.amirhn.Moves","c":"Castling","l":"rook"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"ROOK"},{"p":"com.amirhn.Pieces","c":"Rook","l":"Rook(Color, Location)","u":"%3Cinit%3E(com.amirhn.Game.Color,com.amirhn.Game.Location)"},{"p":"com.amirhn.Moves","c":"Castling","l":"rookMove"},{"p":"com.amirhn.Game","c":"Location","l":"row"},{"p":"com.amirhn.Game","c":"Board","l":"rows"},{"p":"com.amirhn.Game","c":"Scene","l":"Scene(Board, Color)","u":"%3Cinit%3E(com.amirhn.Game.Board,com.amirhn.Game.Color)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"secondDestination"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"secondSource"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"SELECTED"},{"p":"com.amirhn.Pieces","c":"Piece","l":"setLocation(Location)","u":"setLocation(com.amirhn.Game.Location)"},{"p":"com.amirhn.Pieces","c":"Queen","l":"setLocation(Location)","u":"setLocation(com.amirhn.Game.Location)"},{"p":"com.amirhn.Pieces","c":"Piece","l":"setLocationBack(Location)","u":"setLocationBack(com.amirhn.Game.Location)"},{"p":"com.amirhn.Pieces","c":"Queen","l":"setLocationBack(Location)","u":"setLocationBack(com.amirhn.Game.Location)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"setLocationListener(LocationListener)","u":"setLocationListener(com.amirhn.GUI.Listeners.LocationListener)"},{"p":"com.amirhn.GUI.Components","c":"BoardPanel","l":"setLocationState(Location, LocationState)","u":"setLocationState(com.amirhn.Game.Location,com.amirhn.GUI.Components.LocationState)"},{"p":"com.amirhn.Game","c":"Board","l":"setPiece(Piece)","u":"setPiece(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.Game","c":"Chess","l":"setPiece(Piece)","u":"setPiece(com.amirhn.Pieces.Piece)"},{"p":"com.amirhn.GUI.Components","c":"LocationPanel","l":"setState(LocationState)","u":"setState(com.amirhn.GUI.Components.LocationState)"},{"p":"com.amirhn.Game","c":"Board","l":"setupFEN(String)","u":"setupFEN(java.lang.String)"},{"p":"com.amirhn.Game","c":"Chess","l":"setupFEN(String)","u":"setupFEN(java.lang.String)"},{"p":"com.amirhn.Moves","c":"ShortCastling","l":"ShortCastling(King, Rook)","u":"%3Cinit%3E(com.amirhn.Pieces.King,com.amirhn.Pieces.Rook)"},{"p":"com.amirhn.GUI.Components","c":"LocationPanel","l":"Size"},{"p":"com.amirhn.GUI.Components","c":"PiecePanel","l":"Size"},{"p":"com.amirhn.GUI","c":"Constants","l":"SoundDirectory"},{"p":"com.amirhn.Moves","c":"Capture","l":"source"},{"p":"com.amirhn.Moves","c":"Walk","l":"source"},{"p":"com.amirhn.Game","c":"Status","l":"STALEMATE"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"SUGGESTED"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"symbols"},{"p":"com.amirhn.GUI.Components","c":"TablePanel","l":"TablePanel(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"com.amirhn.GUI","c":"Constants","l":"TileSize"},{"p":"com.amirhn.Game","c":"Board","l":"toString()"},{"p":"com.amirhn.Game","c":"Chess","l":"toString()"},{"p":"com.amirhn.Game","c":"Location","l":"toString()"},{"p":"com.amirhn.Moves","c":"Capture","l":"toString()"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"toString()"},{"p":"com.amirhn.Moves","c":"LongCastling","l":"toString()"},{"p":"com.amirhn.Moves","c":"Promotion","l":"toString()"},{"p":"com.amirhn.Moves","c":"ShortCastling","l":"toString()"},{"p":"com.amirhn.Moves","c":"Walk","l":"toString()"},{"p":"com.amirhn.Pieces","c":"Piece","l":"toString()"},{"p":"com.amirhn.GUI","c":"Constants","l":"TransparentColor"},{"p":"com.amirhn.Game","c":"Chess","l":"turn"},{"p":"com.amirhn.Moves","c":"Move","l":"type"},{"p":"com.amirhn.Pieces","c":"Piece","l":"type"},{"p":"com.amirhn.Game","c":"Chess","l":"undoMove()"},{"p":"com.amirhn.GUI","c":"ChessController","l":"undoMove()"},{"p":"com.amirhn.GUI","c":"ChessMenuController","l":"undoMove()"},{"p":"com.amirhn.Moves","c":"Capture","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Castling","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"EnPassant","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Move","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Promotion","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Moves","c":"Walk","l":"undoOnBoard(Board)","u":"undoOnBoard(com.amirhn.Game.Board)"},{"p":"com.amirhn.Game","c":"Color","l":"valueOf(char)"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"valueOf(char)"},{"p":"com.amirhn.Game","c":"Location","l":"valueOf(int, int)","u":"valueOf(int,int)"},{"p":"com.amirhn.Game","c":"Color","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.Game","c":"Location","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.Game","c":"Status","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.Moves","c":"MoveType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"valueOf(String)","u":"valueOf(java.lang.String)"},{"p":"com.amirhn.Game","c":"Color","l":"valueOfPieceChar(char)"},{"p":"com.amirhn.Game","c":"Color","l":"values()"},{"p":"com.amirhn.Game","c":"Status","l":"values()"},{"p":"com.amirhn.GUI.Components","c":"LocationState","l":"values()"},{"p":"com.amirhn.Moves","c":"MoveType","l":"values()"},{"p":"com.amirhn.Pieces","c":"PieceType","l":"values()"},{"p":"com.amirhn.Moves","c":"MoveType","l":"WALK"},{"p":"com.amirhn.Moves","c":"Walk","l":"Walk(Piece, Location)","u":"%3Cinit%3E(com.amirhn.Pieces.Piece,com.amirhn.Game.Location)"},{"p":"com.amirhn.Game","c":"Color","l":"WHITE"},{"p":"com.amirhn.Game","c":"Chess","l":"whitePlayer"},{"p":"com.amirhn.GUI","c":"Constants","l":"YellowGreenColor"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/module-search-index.js b/docs/module-search-index.js new file mode 100644 index 0000000..0d59754 --- /dev/null +++ b/docs/module-search-index.js @@ -0,0 +1 @@ +moduleSearchIndex = [];updateSearchResults(); \ No newline at end of file diff --git a/docs/overview-summary.html b/docs/overview-summary.html new file mode 100644 index 0000000..7b43fa6 --- /dev/null +++ b/docs/overview-summary.html @@ -0,0 +1,26 @@ + + + + +Generated Documentation (Untitled) + + + + + + + + + + + +
+ +

index.html

+
+ + diff --git a/docs/overview-tree.html b/docs/overview-tree.html new file mode 100644 index 0000000..46154ca --- /dev/null +++ b/docs/overview-tree.html @@ -0,0 +1,188 @@ + + + + +Class Hierarchy + + + + + + + + + + + + + + +
+ +
+
+
+

Hierarchy For All Packages

+
+Package Hierarchies: + +
+

Class Hierarchy

+ +
+
+

Interface Hierarchy

+ +
+
+

Enum Class Hierarchy

+ +
+
+
+
+ + diff --git a/docs/package-search-index.js b/docs/package-search-index.js new file mode 100644 index 0000000..ed5b06f --- /dev/null +++ b/docs/package-search-index.js @@ -0,0 +1 @@ +packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"com.amirhn"},{"l":"com.amirhn.Game"},{"l":"com.amirhn.GUI"},{"l":"com.amirhn.GUI.Components"},{"l":"com.amirhn.GUI.Listeners"},{"l":"com.amirhn.Moves"},{"l":"com.amirhn.Pieces"},{"l":"com.amirhn.Players"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/resources/glass.png b/docs/resources/glass.png new file mode 100644 index 0000000000000000000000000000000000000000..a7f591f467a1c0c949bbc510156a0c1afb860a6e GIT binary patch literal 499 zcmVJoRsvExf%rEN>jUL}qZ_~k#FbE+Q;{`;0FZwVNX2n-^JoI; zP;4#$8DIy*Yk-P>VN(DUKmPse7mx+ExD4O|;?E5D0Z5($mjO3`*anwQU^s{ZDK#Lz zj>~{qyaIx5K!t%=G&2IJNzg!ChRpyLkO7}Ry!QaotAHAMpbB3AF(}|_f!G-oI|uK6 z`id_dumai5K%C3Y$;tKS_iqMPHg<*|-@e`liWLAggVM!zAP#@l;=c>S03;{#04Z~5 zN_+ss=Yg6*hTr59mzMwZ@+l~q!+?ft!fF66AXT#wWavHt30bZWFCK%!BNk}LN?0Hg z1VF_nfs`Lm^DjYZ1(1uD0u4CSIr)XAaqW6IT{!St5~1{i=i}zAy76p%_|w8rh@@c0Axr!ns=D-X+|*sY6!@wacG9%)Qn*O zl0sa739kT-&_?#oVxXF6tOnqTD)cZ}2vi$`ZU8RLAlo8=_z#*P3xI~i!lEh+Pdu-L zx{d*wgjtXbnGX_Yf@Tc7Q3YhLhPvc8noGJs2DA~1DySiA&6V{5JzFt ojAY1KXm~va;tU{v7C?Xj0BHw!K;2aXV*mgE07*qoM6N<$f;4TDA^-pY literal 0 HcmV?d00001 diff --git a/docs/script-dir/jquery-3.6.1.min.js b/docs/script-dir/jquery-3.6.1.min.js new file mode 100644 index 0000000..2c69bc9 --- /dev/null +++ b/docs/script-dir/jquery-3.6.1.min.js @@ -0,0 +1,2 @@ +/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),v={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.6.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&v(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!y||!y.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ve(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ye(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ve(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],y=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||y.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||y.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||y.push(".#.+[+~]"),e.querySelectorAll("\\\f"),y.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),y=y.length&&new RegExp(y.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),v=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},j=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&v(p,e)?-1:t==C||t.ownerDocument==p&&v(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!y||!y.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,D=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),v.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",v.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",v.option=!!ce.lastChild;var ge={thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function je(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function De(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Le(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),v.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(v.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return B(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=_e(v.pixelPosition,function(e,t){if(t)return t=Be(e,n),Pe.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return B(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0",options:{classes:{},disabled:!1,create:null},_createWidget:function(t,e){e=x(e||this.defaultElement||this)[0],this.element=x(e),this.uuid=i++,this.eventNamespace="."+this.widgetName+this.uuid,this.bindings=x(),this.hoverable=x(),this.focusable=x(),this.classesElementLookup={},e!==this&&(x.data(e,this.widgetFullName,this),this._on(!0,this.element,{remove:function(t){t.target===e&&this.destroy()}}),this.document=x(e.style?e.ownerDocument:e.document||e),this.window=x(this.document[0].defaultView||this.document[0].parentWindow)),this.options=x.widget.extend({},this.options,this._getCreateOptions(),t),this._create(),this.options.disabled&&this._setOptionDisabled(this.options.disabled),this._trigger("create",null,this._getCreateEventData()),this._init()},_getCreateOptions:function(){return{}},_getCreateEventData:x.noop,_create:x.noop,_init:x.noop,destroy:function(){var i=this;this._destroy(),x.each(this.classesElementLookup,function(t,e){i._removeClass(e,t)}),this.element.off(this.eventNamespace).removeData(this.widgetFullName),this.widget().off(this.eventNamespace).removeAttr("aria-disabled"),this.bindings.off(this.eventNamespace)},_destroy:x.noop,widget:function(){return this.element},option:function(t,e){var i,s,n,o=t;if(0===arguments.length)return x.widget.extend({},this.options);if("string"==typeof t)if(o={},t=(i=t.split(".")).shift(),i.length){for(s=o[t]=x.widget.extend({},this.options[t]),n=0;n
"),i=e.children()[0];return x("body").append(e),t=i.offsetWidth,e.css("overflow","scroll"),t===(i=i.offsetWidth)&&(i=e[0].clientWidth),e.remove(),s=t-i},getScrollInfo:function(t){var e=t.isWindow||t.isDocument?"":t.element.css("overflow-x"),i=t.isWindow||t.isDocument?"":t.element.css("overflow-y"),e="scroll"===e||"auto"===e&&t.widthC(E(s),E(n))?o.important="horizontal":o.important="vertical",c.using.call(this,t,o)}),l.offset(x.extend(u,{using:t}))})},x.ui.position={fit:{left:function(t,e){var i=e.within,s=i.isWindow?i.scrollLeft:i.offset.left,n=i.width,o=t.left-e.collisionPosition.marginLeft,l=s-o,a=o+e.collisionWidth-n-s;e.collisionWidth>n?0n?0",delay:300,options:{icons:{submenu:"ui-icon-caret-1-e"},items:"> *",menus:"ul",position:{my:"left top",at:"right top"},role:"menu",blur:null,focus:null,select:null},_create:function(){this.activeMenu=this.element,this.mouseHandled=!1,this.lastMousePosition={x:null,y:null},this.element.uniqueId().attr({role:this.options.role,tabIndex:0}),this._addClass("ui-menu","ui-widget ui-widget-content"),this._on({"mousedown .ui-menu-item":function(t){t.preventDefault(),this._activateItem(t)},"click .ui-menu-item":function(t){var e=x(t.target),i=x(x.ui.safeActiveElement(this.document[0]));!this.mouseHandled&&e.not(".ui-state-disabled").length&&(this.select(t),t.isPropagationStopped()||(this.mouseHandled=!0),e.has(".ui-menu").length?this.expand(t):!this.element.is(":focus")&&i.closest(".ui-menu").length&&(this.element.trigger("focus",[!0]),this.active&&1===this.active.parents(".ui-menu").length&&clearTimeout(this.timer)))},"mouseenter .ui-menu-item":"_activateItem","mousemove .ui-menu-item":"_activateItem",mouseleave:"collapseAll","mouseleave .ui-menu":"collapseAll",focus:function(t,e){var i=this.active||this._menuItems().first();e||this.focus(t,i)},blur:function(t){this._delay(function(){x.contains(this.element[0],x.ui.safeActiveElement(this.document[0]))||this.collapseAll(t)})},keydown:"_keydown"}),this.refresh(),this._on(this.document,{click:function(t){this._closeOnDocumentClick(t)&&this.collapseAll(t,!0),this.mouseHandled=!1}})},_activateItem:function(t){var e,i;this.previousFilter||t.clientX===this.lastMousePosition.x&&t.clientY===this.lastMousePosition.y||(this.lastMousePosition={x:t.clientX,y:t.clientY},e=x(t.target).closest(".ui-menu-item"),i=x(t.currentTarget),e[0]===i[0]&&(i.is(".ui-state-active")||(this._removeClass(i.siblings().children(".ui-state-active"),null,"ui-state-active"),this.focus(t,i))))},_destroy:function(){var t=this.element.find(".ui-menu-item").removeAttr("role aria-disabled").children(".ui-menu-item-wrapper").removeUniqueId().removeAttr("tabIndex role aria-haspopup");this.element.removeAttr("aria-activedescendant").find(".ui-menu").addBack().removeAttr("role aria-labelledby aria-expanded aria-hidden aria-disabled tabIndex").removeUniqueId().show(),t.children().each(function(){var t=x(this);t.data("ui-menu-submenu-caret")&&t.remove()})},_keydown:function(t){var e,i,s,n=!0;switch(t.keyCode){case x.ui.keyCode.PAGE_UP:this.previousPage(t);break;case x.ui.keyCode.PAGE_DOWN:this.nextPage(t);break;case x.ui.keyCode.HOME:this._move("first","first",t);break;case x.ui.keyCode.END:this._move("last","last",t);break;case x.ui.keyCode.UP:this.previous(t);break;case x.ui.keyCode.DOWN:this.next(t);break;case x.ui.keyCode.LEFT:this.collapse(t);break;case x.ui.keyCode.RIGHT:this.active&&!this.active.is(".ui-state-disabled")&&this.expand(t);break;case x.ui.keyCode.ENTER:case x.ui.keyCode.SPACE:this._activate(t);break;case x.ui.keyCode.ESCAPE:this.collapse(t);break;default:e=this.previousFilter||"",s=n=!1,i=96<=t.keyCode&&t.keyCode<=105?(t.keyCode-96).toString():String.fromCharCode(t.keyCode),clearTimeout(this.filterTimer),i===e?s=!0:i=e+i,e=this._filterMenuItems(i),(e=s&&-1!==e.index(this.active.next())?this.active.nextAll(".ui-menu-item"):e).length||(i=String.fromCharCode(t.keyCode),e=this._filterMenuItems(i)),e.length?(this.focus(t,e),this.previousFilter=i,this.filterTimer=this._delay(function(){delete this.previousFilter},1e3)):delete this.previousFilter}n&&t.preventDefault()},_activate:function(t){this.active&&!this.active.is(".ui-state-disabled")&&(this.active.children("[aria-haspopup='true']").length?this.expand(t):this.select(t))},refresh:function(){var t,e,s=this,n=this.options.icons.submenu,i=this.element.find(this.options.menus);this._toggleClass("ui-menu-icons",null,!!this.element.find(".ui-icon").length),e=i.filter(":not(.ui-menu)").hide().attr({role:this.options.role,"aria-hidden":"true","aria-expanded":"false"}).each(function(){var t=x(this),e=t.prev(),i=x("").data("ui-menu-submenu-caret",!0);s._addClass(i,"ui-menu-icon","ui-icon "+n),e.attr("aria-haspopup","true").prepend(i),t.attr("aria-labelledby",e.attr("id"))}),this._addClass(e,"ui-menu","ui-widget ui-widget-content ui-front"),(t=i.add(this.element).find(this.options.items)).not(".ui-menu-item").each(function(){var t=x(this);s._isDivider(t)&&s._addClass(t,"ui-menu-divider","ui-widget-content")}),i=(e=t.not(".ui-menu-item, .ui-menu-divider")).children().not(".ui-menu").uniqueId().attr({tabIndex:-1,role:this._itemRole()}),this._addClass(e,"ui-menu-item")._addClass(i,"ui-menu-item-wrapper"),t.filter(".ui-state-disabled").attr("aria-disabled","true"),this.active&&!x.contains(this.element[0],this.active[0])&&this.blur()},_itemRole:function(){return{menu:"menuitem",listbox:"option"}[this.options.role]},_setOption:function(t,e){var i;"icons"===t&&(i=this.element.find(".ui-menu-icon"),this._removeClass(i,null,this.options.icons.submenu)._addClass(i,null,e.submenu)),this._super(t,e)},_setOptionDisabled:function(t){this._super(t),this.element.attr("aria-disabled",String(t)),this._toggleClass(null,"ui-state-disabled",!!t)},focus:function(t,e){var i;this.blur(t,t&&"focus"===t.type),this._scrollIntoView(e),this.active=e.first(),i=this.active.children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),this.options.role&&this.element.attr("aria-activedescendant",i.attr("id")),i=this.active.parent().closest(".ui-menu-item").children(".ui-menu-item-wrapper"),this._addClass(i,null,"ui-state-active"),t&&"keydown"===t.type?this._close():this.timer=this._delay(function(){this._close()},this.delay),(i=e.children(".ui-menu")).length&&t&&/^mouse/.test(t.type)&&this._startOpening(i),this.activeMenu=e.parent(),this._trigger("focus",t,{item:e})},_scrollIntoView:function(t){var e,i,s;this._hasScroll()&&(i=parseFloat(x.css(this.activeMenu[0],"borderTopWidth"))||0,s=parseFloat(x.css(this.activeMenu[0],"paddingTop"))||0,e=t.offset().top-this.activeMenu.offset().top-i-s,i=this.activeMenu.scrollTop(),s=this.activeMenu.height(),t=t.outerHeight(),e<0?this.activeMenu.scrollTop(i+e):s",options:{appendTo:null,autoFocus:!1,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null,change:null,close:null,focus:null,open:null,response:null,search:null,select:null},requestIndex:0,pending:0,liveRegionTimer:null,_create:function(){var i,s,n,t=this.element[0].nodeName.toLowerCase(),e="textarea"===t,t="input"===t;this.isMultiLine=e||!t&&this._isContentEditable(this.element),this.valueMethod=this.element[e||t?"val":"text"],this.isNewMenu=!0,this._addClass("ui-autocomplete-input"),this.element.attr("autocomplete","off"),this._on(this.element,{keydown:function(t){if(this.element.prop("readOnly"))s=n=i=!0;else{s=n=i=!1;var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:i=!0,this._move("previousPage",t);break;case e.PAGE_DOWN:i=!0,this._move("nextPage",t);break;case e.UP:i=!0,this._keyEvent("previous",t);break;case e.DOWN:i=!0,this._keyEvent("next",t);break;case e.ENTER:this.menu.active&&(i=!0,t.preventDefault(),this.menu.select(t));break;case e.TAB:this.menu.active&&this.menu.select(t);break;case e.ESCAPE:this.menu.element.is(":visible")&&(this.isMultiLine||this._value(this.term),this.close(t),t.preventDefault());break;default:s=!0,this._searchTimeout(t)}}},keypress:function(t){if(i)return i=!1,void(this.isMultiLine&&!this.menu.element.is(":visible")||t.preventDefault());if(!s){var e=x.ui.keyCode;switch(t.keyCode){case e.PAGE_UP:this._move("previousPage",t);break;case e.PAGE_DOWN:this._move("nextPage",t);break;case e.UP:this._keyEvent("previous",t);break;case e.DOWN:this._keyEvent("next",t)}}},input:function(t){if(n)return n=!1,void t.preventDefault();this._searchTimeout(t)},focus:function(){this.selectedItem=null,this.previous=this._value()},blur:function(t){clearTimeout(this.searching),this.close(t),this._change(t)}}),this._initSource(),this.menu=x("
    ").appendTo(this._appendTo()).menu({role:null}).hide().attr({unselectable:"on"}).menu("instance"),this._addClass(this.menu.element,"ui-autocomplete","ui-front"),this._on(this.menu.element,{mousedown:function(t){t.preventDefault()},menufocus:function(t,e){var i,s;if(this.isNewMenu&&(this.isNewMenu=!1,t.originalEvent&&/^mouse/.test(t.originalEvent.type)))return this.menu.blur(),void this.document.one("mousemove",function(){x(t.target).trigger(t.originalEvent)});s=e.item.data("ui-autocomplete-item"),!1!==this._trigger("focus",t,{item:s})&&t.originalEvent&&/^key/.test(t.originalEvent.type)&&this._value(s.value),(i=e.item.attr("aria-label")||s.value)&&String.prototype.trim.call(i).length&&(clearTimeout(this.liveRegionTimer),this.liveRegionTimer=this._delay(function(){this.liveRegion.html(x("
    ").text(i))},100))},menuselect:function(t,e){var i=e.item.data("ui-autocomplete-item"),s=this.previous;this.element[0]!==x.ui.safeActiveElement(this.document[0])&&(this.element.trigger("focus"),this.previous=s,this._delay(function(){this.previous=s,this.selectedItem=i})),!1!==this._trigger("select",t,{item:i})&&this._value(i.value),this.term=this._value(),this.close(t),this.selectedItem=i}}),this.liveRegion=x("
    ",{role:"status","aria-live":"assertive","aria-relevant":"additions"}).appendTo(this.document[0].body),this._addClass(this.liveRegion,null,"ui-helper-hidden-accessible"),this._on(this.window,{beforeunload:function(){this.element.removeAttr("autocomplete")}})},_destroy:function(){clearTimeout(this.searching),this.element.removeAttr("autocomplete"),this.menu.element.remove(),this.liveRegion.remove()},_setOption:function(t,e){this._super(t,e),"source"===t&&this._initSource(),"appendTo"===t&&this.menu.element.appendTo(this._appendTo()),"disabled"===t&&e&&this.xhr&&this.xhr.abort()},_isEventTargetInWidget:function(t){var e=this.menu.element[0];return t.target===this.element[0]||t.target===e||x.contains(e,t.target)},_closeOnClickOutside:function(t){this._isEventTargetInWidget(t)||this.close()},_appendTo:function(){var t=this.options.appendTo;return t=!(t=!(t=t&&(t.jquery||t.nodeType?x(t):this.document.find(t).eq(0)))||!t[0]?this.element.closest(".ui-front, dialog"):t).length?this.document[0].body:t},_initSource:function(){var i,s,n=this;Array.isArray(this.options.source)?(i=this.options.source,this.source=function(t,e){e(x.ui.autocomplete.filter(i,t.term))}):"string"==typeof this.options.source?(s=this.options.source,this.source=function(t,e){n.xhr&&n.xhr.abort(),n.xhr=x.ajax({url:s,data:t,dataType:"json",success:function(t){e(t)},error:function(){e([])}})}):this.source=this.options.source},_searchTimeout:function(s){clearTimeout(this.searching),this.searching=this._delay(function(){var t=this.term===this._value(),e=this.menu.element.is(":visible"),i=s.altKey||s.ctrlKey||s.metaKey||s.shiftKey;t&&(e||i)||(this.selectedItem=null,this.search(null,s))},this.options.delay)},search:function(t,e){return t=null!=t?t:this._value(),this.term=this._value(),t.length").append(x("
    ").text(e.label)).appendTo(t)},_move:function(t,e){if(this.menu.element.is(":visible"))return this.menu.isFirstItem()&&/^previous/.test(t)||this.menu.isLastItem()&&/^next/.test(t)?(this.isMultiLine||this._value(this.term),void this.menu.blur()):void this.menu[t](e);this.search(null,e)},widget:function(){return this.menu.element},_value:function(){return this.valueMethod.apply(this.element,arguments)},_keyEvent:function(t,e){this.isMultiLine&&!this.menu.element.is(":visible")||(this._move(t,e),e.preventDefault())},_isContentEditable:function(t){if(!t.length)return!1;var e=t.prop("contentEditable");return"inherit"===e?this._isContentEditable(t.parent()):"true"===e}}),x.extend(x.ui.autocomplete,{escapeRegex:function(t){return t.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g,"\\$&")},filter:function(t,e){var i=new RegExp(x.ui.autocomplete.escapeRegex(e),"i");return x.grep(t,function(t){return i.test(t.label||t.value||t)})}}),x.widget("ui.autocomplete",x.ui.autocomplete,{options:{messages:{noResults:"No search results.",results:function(t){return t+(1").text(e))},100))}});x.ui.autocomplete}); \ No newline at end of file diff --git a/docs/script.js b/docs/script.js new file mode 100644 index 0000000..bb9c8a2 --- /dev/null +++ b/docs/script.js @@ -0,0 +1,253 @@ +/* + * Copyright (c) 2013, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +var moduleSearchIndex; +var packageSearchIndex; +var typeSearchIndex; +var memberSearchIndex; +var tagSearchIndex; + +var oddRowColor = "odd-row-color"; +var evenRowColor = "even-row-color"; +var sortAsc = "sort-asc"; +var sortDesc = "sort-desc"; +var tableTab = "table-tab"; +var activeTableTab = "active-table-tab"; + +function loadScripts(doc, tag) { + createElem(doc, tag, 'search.js'); + + createElem(doc, tag, 'module-search-index.js'); + createElem(doc, tag, 'package-search-index.js'); + createElem(doc, tag, 'type-search-index.js'); + createElem(doc, tag, 'member-search-index.js'); + createElem(doc, tag, 'tag-search-index.js'); +} + +function createElem(doc, tag, path) { + var script = doc.createElement(tag); + var scriptElement = doc.getElementsByTagName(tag)[0]; + script.src = pathtoroot + path; + scriptElement.parentNode.insertBefore(script, scriptElement); +} + +// Helper for making content containing release names comparable lexicographically +function makeComparable(s) { + return s.toLowerCase().replace(/(\d+)/g, + function(n, m) { + return ("000" + m).slice(-4); + }); +} + +// Switches between two styles depending on a condition +function toggleStyle(classList, condition, trueStyle, falseStyle) { + if (condition) { + classList.remove(falseStyle); + classList.add(trueStyle); + } else { + classList.remove(trueStyle); + classList.add(falseStyle); + } +} + +// Sorts the rows in a table lexicographically by the content of a specific column +function sortTable(header, columnIndex, columns) { + var container = header.parentElement; + var descending = header.classList.contains(sortAsc); + container.querySelectorAll("div.table-header").forEach( + function(header) { + header.classList.remove(sortAsc); + header.classList.remove(sortDesc); + } + ) + var cells = container.children; + var rows = []; + for (var i = columns; i < cells.length; i += columns) { + rows.push(Array.prototype.slice.call(cells, i, i + columns)); + } + var comparator = function(a, b) { + var ka = makeComparable(a[columnIndex].textContent); + var kb = makeComparable(b[columnIndex].textContent); + if (ka < kb) + return descending ? 1 : -1; + if (ka > kb) + return descending ? -1 : 1; + return 0; + }; + var sorted = rows.sort(comparator); + var visible = 0; + sorted.forEach(function(row) { + if (row[0].style.display !== 'none') { + var isEvenRow = visible++ % 2 === 0; + } + row.forEach(function(cell) { + toggleStyle(cell.classList, isEvenRow, evenRowColor, oddRowColor); + container.appendChild(cell); + }) + }); + toggleStyle(header.classList, descending, sortDesc, sortAsc); +} + +// Toggles the visibility of a table category in all tables in a page +function toggleGlobal(checkbox, selected, columns) { + var display = checkbox.checked ? '' : 'none'; + document.querySelectorAll("div.table-tabs").forEach(function(t) { + var id = t.parentElement.getAttribute("id"); + var selectedClass = id + "-tab" + selected; + // if selected is empty string it selects all uncategorized entries + var selectUncategorized = !Boolean(selected); + var visible = 0; + document.querySelectorAll('div.' + id) + .forEach(function(elem) { + if (selectUncategorized) { + if (elem.className.indexOf(selectedClass) === -1) { + elem.style.display = display; + } + } else if (elem.classList.contains(selectedClass)) { + elem.style.display = display; + } + if (elem.style.display === '') { + var isEvenRow = visible++ % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + } + }); + var displaySection = visible === 0 ? 'none' : ''; + t.parentElement.style.display = displaySection; + document.querySelector("li#contents-" + id).style.display = displaySection; + }) +} + +// Shows the elements of a table belonging to a specific category +function show(tableId, selected, columns) { + if (tableId !== selected) { + document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')') + .forEach(function(elem) { + elem.style.display = 'none'; + }); + } + document.querySelectorAll('div.' + selected) + .forEach(function(elem, index) { + elem.style.display = ''; + var isEvenRow = index % (columns * 2) < columns; + toggleStyle(elem.classList, isEvenRow, evenRowColor, oddRowColor); + }); + updateTabs(tableId, selected); +} + +function updateTabs(tableId, selected) { + document.getElementById(tableId + '.tabpanel') + .setAttribute('aria-labelledby', selected); + document.querySelectorAll('button[id^="' + tableId + '"]') + .forEach(function(tab, index) { + if (selected === tab.id || (tableId === selected && index === 0)) { + tab.className = activeTableTab; + tab.setAttribute('aria-selected', true); + tab.setAttribute('tabindex',0); + } else { + tab.className = tableTab; + tab.setAttribute('aria-selected', false); + tab.setAttribute('tabindex',-1); + } + }); +} + +function switchTab(e) { + var selected = document.querySelector('[aria-selected=true]'); + if (selected) { + if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) { + // left or up arrow key pressed: move focus to previous tab + selected.previousSibling.click(); + selected.previousSibling.focus(); + e.preventDefault(); + } else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) { + // right or down arrow key pressed: move focus to next tab + selected.nextSibling.click(); + selected.nextSibling.focus(); + e.preventDefault(); + } + } +} + +var updateSearchResults = function() {}; + +function indexFilesLoaded() { + return moduleSearchIndex + && packageSearchIndex + && typeSearchIndex + && memberSearchIndex + && tagSearchIndex; +} +// Copy the contents of the local snippet to the clipboard +function copySnippet(button) { + copyToClipboard(button.nextElementSibling.innerText); + switchCopyLabel(button, button.firstElementChild); +} +function copyToClipboard(content) { + var textarea = document.createElement("textarea"); + textarea.style.height = 0; + document.body.appendChild(textarea); + textarea.value = content; + textarea.select(); + document.execCommand("copy"); + document.body.removeChild(textarea); +} +function switchCopyLabel(button, span) { + var copied = span.getAttribute("data-copied"); + button.classList.add("visible"); + var initialLabel = span.innerHTML; + span.innerHTML = copied; + setTimeout(function() { + button.classList.remove("visible"); + setTimeout(function() { + if (initialLabel !== copied) { + span.innerHTML = initialLabel; + } + }, 100); + }, 1900); +} +// Workaround for scroll position not being included in browser history (8249133) +document.addEventListener("DOMContentLoaded", function(e) { + var contentDiv = document.querySelector("div.flex-content"); + window.addEventListener("popstate", function(e) { + if (e.state !== null) { + contentDiv.scrollTop = e.state; + } + }); + window.addEventListener("hashchange", function(e) { + history.replaceState(contentDiv.scrollTop, document.title); + }); + var timeoutId; + contentDiv.addEventListener("scroll", function(e) { + if (timeoutId) { + clearTimeout(timeoutId); + } + timeoutId = setTimeout(function() { + history.replaceState(contentDiv.scrollTop, document.title); + }, 100); + }); + if (!location.hash) { + history.replaceState(contentDiv.scrollTop, document.title); + } +}); diff --git a/docs/search-page.js b/docs/search-page.js new file mode 100644 index 0000000..540c90f --- /dev/null +++ b/docs/search-page.js @@ -0,0 +1,284 @@ +/* + * Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ + +"use strict"; +$(function() { + var copy = $("#page-search-copy"); + var expand = $("#page-search-expand"); + var searchLink = $("span#page-search-link"); + var redirect = $("input#search-redirect"); + function setSearchUrlTemplate() { + var href = document.location.href.split(/[#?]/)[0]; + href += "?q=" + "%s"; + if (redirect.is(":checked")) { + href += "&r=1"; + } + searchLink.html(href); + copy[0].onmouseenter(); + } + function copyLink(e) { + copyToClipboard(this.previousSibling.innerText); + switchCopyLabel(this, this.lastElementChild); + } + copy.click(copyLink); + copy[0].onmouseenter = function() {}; + redirect.click(setSearchUrlTemplate); + setSearchUrlTemplate(); + copy.prop("disabled", false); + redirect.prop("disabled", false); + expand.click(function (e) { + var searchInfo = $("div.page-search-info"); + if(this.parentElement.hasAttribute("open")) { + searchInfo.attr("style", "border-width: 0;"); + } else { + searchInfo.attr("style", "border-width: 1px;").height(searchInfo.prop("scrollHeight")); + } + }); +}); +$(window).on("load", function() { + var input = $("#page-search-input"); + var reset = $("#page-search-reset"); + var notify = $("#page-search-notify"); + var resultSection = $("div#result-section"); + var resultContainer = $("div#result-container"); + var searchTerm = ""; + var activeTab = ""; + var fixedTab = false; + var visibleTabs = []; + var feelingLucky = false; + function renderResults(result) { + if (!result.length) { + notify.html(messages.noResult); + } else if (result.length === 1) { + notify.html(messages.oneResult); + } else { + notify.html(messages.manyResults.replace("{0}", result.length)); + } + resultContainer.empty(); + var r = { + "types": [], + "members": [], + "packages": [], + "modules": [], + "searchTags": [] + }; + for (var i in result) { + var item = result[i]; + var arr = r[item.category]; + arr.push(item); + } + if (!activeTab || r[activeTab].length === 0 || !fixedTab) { + Object.keys(r).reduce(function(prev, curr) { + if (r[curr].length > 0 && r[curr][0].score > prev) { + activeTab = curr; + return r[curr][0].score; + } + return prev; + }, 0); + } + if (feelingLucky && activeTab) { + notify.html(messages.redirecting) + var firstItem = r[activeTab][0]; + window.location = getURL(firstItem.indexItem, firstItem.category); + return; + } + if (result.length > 20) { + if (searchTerm[searchTerm.length - 1] === ".") { + if (activeTab === "types" && r["members"].length > r["types"].length) { + activeTab = "members"; + } else if (activeTab === "packages" && r["types"].length > r["packages"].length) { + activeTab = "types"; + } + } + } + var categoryCount = Object.keys(r).reduce(function(prev, curr) { + return prev + (r[curr].length > 0 ? 1 : 0); + }, 0); + visibleTabs = []; + var tabContainer = $("
    ").appendTo(resultContainer); + for (var key in r) { + var id = "#result-tab-" + key.replace("searchTags", "search_tags"); + if (r[key].length) { + var count = r[key].length >= 1000 ? "999+" : r[key].length; + if (result.length > 20 && categoryCount > 1) { + var button = $("").appendTo(tabContainer); + button.click(key, function(e) { + fixedTab = true; + renderResult(e.data, $(this)); + }); + visibleTabs.push(key); + } else { + $("" + categories[key] + + " (" + count + ")").appendTo(tabContainer); + renderTable(key, r[key]).appendTo(resultContainer); + tabContainer = $("
    ").appendTo(resultContainer); + + } + } + } + if (activeTab && result.length > 20 && categoryCount > 1) { + $("button#result-tab-" + activeTab).addClass("active-table-tab"); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + } + resultSection.show(); + function renderResult(category, button) { + activeTab = category; + setSearchUrl(); + resultContainer.find("div.summary-table").remove(); + renderTable(activeTab, r[activeTab]).appendTo(resultContainer); + button.siblings().removeClass("active-table-tab"); + button.addClass("active-table-tab"); + } + } + function selectTab(category) { + $("button#result-tab-" + category).click(); + } + function renderTable(category, items) { + var table = $("
    ") + .addClass(category === "modules" + ? "one-column-search-results" + : "two-column-search-results"); + var col1, col2; + if (category === "modules") { + col1 = "Module"; + } else if (category === "packages") { + col1 = "Module"; + col2 = "Package"; + } else if (category === "types") { + col1 = "Package"; + col2 = "Class" + } else if (category === "members") { + col1 = "Class"; + col2 = "Member"; + } else if (category === "searchTags") { + col1 = "Location"; + col2 = "Name"; + } + $("
    " + col1 + "
    ").appendTo(table); + if (category !== "modules") { + $("
    " + col2 + "
    ").appendTo(table); + } + $.each(items, function(index, item) { + var rowColor = index % 2 ? "odd-row-color" : "even-row-color"; + renderItem(item, table, rowColor); + }); + return table; + } + function renderItem(item, table, rowColor) { + var label = getHighlightedText(item.input, item.boundaries, item.prefix.length, item.input.length); + var link = $("") + .attr("href", getURL(item.indexItem, item.category)) + .attr("tabindex", "0") + .addClass("search-result-link") + .html(label); + var container = getHighlightedText(item.input, item.boundaries, 0, item.prefix.length - 1); + if (item.category === "searchTags") { + container = item.indexItem.h || ""; + } + if (item.category !== "modules") { + $("
    ").html(container).addClass("col-plain").addClass(rowColor).appendTo(table); + } + $("
    ").html(link).addClass("col-last").addClass(rowColor).appendTo(table); + } + var timeout; + function schedulePageSearch() { + if (timeout) { + clearTimeout(timeout); + } + timeout = setTimeout(function () { + doPageSearch() + }, 100); + } + function doPageSearch() { + setSearchUrl(); + var term = searchTerm = input.val().trim(); + if (term === "") { + notify.html(messages.enterTerm); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + resultSection.hide(); + } else { + notify.html(messages.searching); + doSearch({ term: term, maxResults: 1200 }, renderResults); + } + } + function setSearchUrl() { + var query = input.val().trim(); + var url = document.location.pathname; + if (query) { + url += "?q=" + encodeURI(query); + if (activeTab && fixedTab) { + url += "&c=" + activeTab; + } + } + history.replaceState({query: query}, "", url); + } + input.on("input", function(e) { + feelingLucky = false; + schedulePageSearch(); + }); + $(document).keydown(function(e) { + if ((e.ctrlKey || e.metaKey) && (e.key === "ArrowLeft" || e.key === "ArrowRight")) { + if (activeTab && visibleTabs.length > 1) { + var idx = visibleTabs.indexOf(activeTab); + idx += e.key === "ArrowLeft" ? visibleTabs.length - 1 : 1; + selectTab(visibleTabs[idx % visibleTabs.length]); + return false; + } + } + }); + reset.click(function() { + notify.html(messages.enterTerm); + resultSection.hide(); + activeTab = ""; + fixedTab = false; + resultContainer.empty(); + input.val('').focus(); + setSearchUrl(); + }); + input.prop("disabled", false); + reset.prop("disabled", false); + + var urlParams = new URLSearchParams(window.location.search); + if (urlParams.has("q")) { + input.val(urlParams.get("q")) + } + if (urlParams.has("c")) { + activeTab = urlParams.get("c"); + fixedTab = true; + } + if (urlParams.get("r")) { + feelingLucky = true; + } + if (input.val()) { + doPageSearch(); + } else { + notify.html(messages.enterTerm); + } + input.select().focus(); +}); diff --git a/docs/search.html b/docs/search.html new file mode 100644 index 0000000..feba543 --- /dev/null +++ b/docs/search.html @@ -0,0 +1,72 @@ + + + + +Search + + + + + + + + + + + + + + +
    + +
    +
    +

    Search

    +
    + + +
    +Additional resources +
    +
    +
    +

    The help page provides an introduction to the scope and syntax of JavaDoc search.

    +

    You can use the <ctrl> or <cmd> keys in combination with the left and right arrow keys to switch between result tabs in this page.

    +

    The URL template below may be used to configure this page as a search engine in browsers that support this feature. It has been tested to work in Google Chrome and Mozilla Firefox. Note that other browsers may not support this feature or require a different URL format.

    +link +

    + +

    +
    +

    Loading search index...

    + +
    +
    +
    + + diff --git a/docs/search.js b/docs/search.js new file mode 100644 index 0000000..d398670 --- /dev/null +++ b/docs/search.js @@ -0,0 +1,458 @@ +/* + * Copyright (c) 2015, 2023, Oracle and/or its affiliates. All rights reserved. + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This code is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 only, as + * published by the Free Software Foundation. Oracle designates this + * particular file as subject to the "Classpath" exception as provided + * by Oracle in the LICENSE file that accompanied this code. + * + * This code is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + * version 2 for more details (a copy is included in the LICENSE file that + * accompanied this code). + * + * You should have received a copy of the GNU General Public License version + * 2 along with this work; if not, write to the Free Software Foundation, + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA + * or visit www.oracle.com if you need additional information or have any + * questions. + */ +"use strict"; +const messages = { + enterTerm: "Enter a search term", + noResult: "No results found", + oneResult: "Found one result", + manyResults: "Found {0} results", + loading: "Loading search index...", + searching: "Searching...", + redirecting: "Redirecting to first result...", + linkIcon: "Link icon", + linkToSection: "Link to this section" +} +const categories = { + modules: "Modules", + packages: "Packages", + types: "Classes and Interfaces", + members: "Members", + searchTags: "Search Tags" +}; +const highlight = "$&"; +const NO_MATCH = {}; +const MAX_RESULTS = 300; +function checkUnnamed(name, separator) { + return name === "" || !name ? "" : name + separator; +} +function escapeHtml(str) { + return str.replace(//g, ">"); +} +function getHighlightedText(str, boundaries, from, to) { + var start = from; + var text = ""; + for (var i = 0; i < boundaries.length; i += 2) { + var b0 = boundaries[i]; + var b1 = boundaries[i + 1]; + if (b0 >= to || b1 <= from) { + continue; + } + text += escapeHtml(str.slice(start, Math.max(start, b0))); + text += ""; + text += escapeHtml(str.slice(Math.max(start, b0), Math.min(to, b1))); + text += ""; + start = Math.min(to, b1); + } + text += escapeHtml(str.slice(start, to)); + return text; +} +function getURLPrefix(item, category) { + var urlPrefix = ""; + var slash = "/"; + if (category === "modules") { + return item.l + slash; + } else if (category === "packages" && item.m) { + return item.m + slash; + } else if (category === "types" || category === "members") { + if (item.m) { + urlPrefix = item.m + slash; + } else { + $.each(packageSearchIndex, function(index, it) { + if (it.m && item.p === it.l) { + urlPrefix = it.m + slash; + } + }); + } + } + return urlPrefix; +} +function getURL(item, category) { + if (item.url) { + return item.url; + } + var url = getURLPrefix(item, category); + if (category === "modules") { + url += "module-summary.html"; + } else if (category === "packages") { + if (item.u) { + url = item.u; + } else { + url += item.l.replace(/\./g, '/') + "/package-summary.html"; + } + } else if (category === "types") { + if (item.u) { + url = item.u; + } else { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.l + ".html"; + } + } else if (category === "members") { + url += checkUnnamed(item.p, "/").replace(/\./g, '/') + item.c + ".html" + "#"; + if (item.u) { + url += item.u; + } else { + url += item.l; + } + } else if (category === "searchTags") { + url += item.u; + } + item.url = url; + return url; +} +function createMatcher(term, camelCase) { + if (camelCase && !isUpperCase(term)) { + return null; // no need for camel-case matcher for lower case query + } + var pattern = ""; + var upperCase = []; + term.trim().split(/\s+/).forEach(function(w, index, array) { + var tokens = w.split(/(?=[A-Z,.()<>?[\/])/); + for (var i = 0; i < tokens.length; i++) { + var s = tokens[i]; + // ',' and '?' are the only delimiters commonly followed by space in java signatures + pattern += "(" + $.ui.autocomplete.escapeRegex(s).replace(/[,?]/g, "$&\\s*?") + ")"; + upperCase.push(false); + var isWordToken = /\w$/.test(s); + if (isWordToken) { + if (i === tokens.length - 1 && index < array.length - 1) { + // space in query string matches all delimiters + pattern += "(.*?)"; + upperCase.push(isUpperCase(s[0])); + } else { + if (!camelCase && isUpperCase(s) && s.length === 1) { + pattern += "()"; + } else { + pattern += "([a-z0-9$<>?[\\]]*?)"; + } + upperCase.push(isUpperCase(s[0])); + } + } else { + pattern += "()"; + upperCase.push(false); + } + } + }); + var re = new RegExp(pattern, "gi"); + re.upperCase = upperCase; + return re; +} +function findMatch(matcher, input, startOfName, endOfName) { + var from = startOfName; + matcher.lastIndex = from; + var match = matcher.exec(input); + // Expand search area until we get a valid result or reach the beginning of the string + while (!match || match.index + match[0].length < startOfName || endOfName < match.index) { + if (from === 0) { + return NO_MATCH; + } + from = input.lastIndexOf(".", from - 2) + 1; + matcher.lastIndex = from; + match = matcher.exec(input); + } + var boundaries = []; + var matchEnd = match.index + match[0].length; + var score = 5; + var start = match.index; + var prevEnd = -1; + for (var i = 1; i < match.length; i += 2) { + var isUpper = isUpperCase(input[start]); + var isMatcherUpper = matcher.upperCase[i]; + // capturing groups come in pairs, match and non-match + boundaries.push(start, start + match[i].length); + // make sure groups are anchored on a left word boundary + var prevChar = input[start - 1] || ""; + var nextChar = input[start + 1] || ""; + if (start !== 0 && !/[\W_]/.test(prevChar) && !/[\W_]/.test(input[start])) { + if (isUpper && (isLowerCase(prevChar) || isLowerCase(nextChar))) { + score -= 0.1; + } else if (isMatcherUpper && start === prevEnd) { + score -= isUpper ? 0.1 : 1.0; + } else { + return NO_MATCH; + } + } + prevEnd = start + match[i].length; + start += match[i].length + match[i + 1].length; + + // lower score for parts of the name that are missing + if (match[i + 1] && prevEnd < endOfName) { + score -= rateNoise(match[i + 1]); + } + } + // lower score if a type name contains unmatched camel-case parts + if (input[matchEnd - 1] !== "." && endOfName > matchEnd) + score -= rateNoise(input.slice(matchEnd, endOfName)); + score -= rateNoise(input.slice(0, Math.max(startOfName, match.index))); + + if (score <= 0) { + return NO_MATCH; + } + return { + input: input, + score: score, + boundaries: boundaries + }; +} +function isUpperCase(s) { + return s !== s.toLowerCase(); +} +function isLowerCase(s) { + return s !== s.toUpperCase(); +} +function rateNoise(str) { + return (str.match(/([.(])/g) || []).length / 5 + + (str.match(/([A-Z]+)/g) || []).length / 10 + + str.length / 20; +} +function doSearch(request, response) { + var term = request.term.trim(); + var maxResults = request.maxResults || MAX_RESULTS; + if (term.length === 0) { + return this.close(); + } + var matcher = { + plainMatcher: createMatcher(term, false), + camelCaseMatcher: createMatcher(term, true) + } + var indexLoaded = indexFilesLoaded(); + + function getPrefix(item, category) { + switch (category) { + case "packages": + return checkUnnamed(item.m, "/"); + case "types": + return checkUnnamed(item.p, "."); + case "members": + return checkUnnamed(item.p, ".") + item.c + "."; + default: + return ""; + } + } + function useQualifiedName(category) { + switch (category) { + case "packages": + return /[\s/]/.test(term); + case "types": + case "members": + return /[\s.]/.test(term); + default: + return false; + } + } + function searchIndex(indexArray, category) { + var matches = []; + if (!indexArray) { + if (!indexLoaded) { + matches.push({ l: messages.loading, category: category }); + } + return matches; + } + $.each(indexArray, function (i, item) { + var prefix = getPrefix(item, category); + var simpleName = item.l; + var qualifiedName = prefix + simpleName; + var useQualified = useQualifiedName(category); + var input = useQualified ? qualifiedName : simpleName; + var startOfName = useQualified ? prefix.length : 0; + var endOfName = category === "members" && input.indexOf("(", startOfName) > -1 + ? input.indexOf("(", startOfName) : input.length; + var m = findMatch(matcher.plainMatcher, input, startOfName, endOfName); + if (m === NO_MATCH && matcher.camelCaseMatcher) { + m = findMatch(matcher.camelCaseMatcher, input, startOfName, endOfName); + } + if (m !== NO_MATCH) { + m.indexItem = item; + m.prefix = prefix; + m.category = category; + if (!useQualified) { + m.input = qualifiedName; + m.boundaries = m.boundaries.map(function(b) { + return b + prefix.length; + }); + } + matches.push(m); + } + return true; + }); + return matches.sort(function(e1, e2) { + return e2.score - e1.score; + }).slice(0, maxResults); + } + + var result = searchIndex(moduleSearchIndex, "modules") + .concat(searchIndex(packageSearchIndex, "packages")) + .concat(searchIndex(typeSearchIndex, "types")) + .concat(searchIndex(memberSearchIndex, "members")) + .concat(searchIndex(tagSearchIndex, "searchTags")); + + if (!indexLoaded) { + updateSearchResults = function() { + doSearch(request, response); + } + } else { + updateSearchResults = function() {}; + } + response(result); +} +// JQuery search menu implementation +$.widget("custom.catcomplete", $.ui.autocomplete, { + _create: function() { + this._super(); + this.widget().menu("option", "items", "> .result-item"); + // workaround for search result scrolling + this.menu._scrollIntoView = function _scrollIntoView( item ) { + var borderTop, paddingTop, offset, scroll, elementHeight, itemHeight; + if ( this._hasScroll() ) { + borderTop = parseFloat( $.css( this.activeMenu[ 0 ], "borderTopWidth" ) ) || 0; + paddingTop = parseFloat( $.css( this.activeMenu[ 0 ], "paddingTop" ) ) || 0; + offset = item.offset().top - this.activeMenu.offset().top - borderTop - paddingTop; + scroll = this.activeMenu.scrollTop(); + elementHeight = this.activeMenu.height() - 26; + itemHeight = item.outerHeight(); + + if ( offset < 0 ) { + this.activeMenu.scrollTop( scroll + offset ); + } else if ( offset + itemHeight > elementHeight ) { + this.activeMenu.scrollTop( scroll + offset - elementHeight + itemHeight ); + } + } + }; + }, + _renderMenu: function(ul, items) { + var currentCategory = ""; + var widget = this; + widget.menu.bindings = $(); + $.each(items, function(index, item) { + if (item.category && item.category !== currentCategory) { + ul.append("
  • " + categories[item.category] + "
  • "); + currentCategory = item.category; + } + var li = widget._renderItemData(ul, item); + if (item.category) { + li.attr("aria-label", categories[item.category] + " : " + item.l); + } else { + li.attr("aria-label", item.l); + } + li.attr("class", "result-item"); + }); + ul.append(""); + }, + _renderItem: function(ul, item) { + var li = $("
  • ").appendTo(ul); + var div = $("
    ").appendTo(li); + var label = item.l + ? item.l + : getHighlightedText(item.input, item.boundaries, 0, item.input.length); + var idx = item.indexItem; + if (item.category === "searchTags" && idx && idx.h) { + if (idx.d) { + div.html(label + " (" + idx.h + ")
    " + + idx.d + "
    "); + } else { + div.html(label + " (" + idx.h + ")"); + } + } else { + div.html(label); + } + return li; + } +}); +$(function() { + var expanded = false; + var windowWidth; + function collapse() { + if (expanded) { + $("div#navbar-top").removeAttr("style"); + $("button#navbar-toggle-button") + .removeClass("expanded") + .attr("aria-expanded", "false"); + expanded = false; + } + } + $("button#navbar-toggle-button").click(function (e) { + if (expanded) { + collapse(); + } else { + var navbar = $("div#navbar-top"); + navbar.height(navbar.prop("scrollHeight")); + $("button#navbar-toggle-button") + .addClass("expanded") + .attr("aria-expanded", "true"); + expanded = true; + windowWidth = window.innerWidth; + } + }); + $("ul.sub-nav-list-small li a").click(collapse); + $("input#search-input").focus(collapse); + $("main").click(collapse); + $("section[id] > :header, :header[id], :header:has(a[id])").each(function(idx, el) { + // Create anchor links for headers with an associated id attribute + var hdr = $(el); + var id = hdr.attr("id") || hdr.parent("section").attr("id") || hdr.children("a").attr("id"); + if (id) { + hdr.append(" " + messages.linkIcon +""); + } + }); + $(window).on("orientationchange", collapse).on("resize", function(e) { + if (expanded && windowWidth !== window.innerWidth) collapse(); + }); + var search = $("#search-input"); + var reset = $("#reset-button"); + search.catcomplete({ + minLength: 1, + delay: 200, + source: doSearch, + response: function(event, ui) { + if (!ui.content.length) { + ui.content.push({ l: messages.noResult }); + } else { + $("#search-input").empty(); + } + }, + autoFocus: true, + focus: function(event, ui) { + return false; + }, + position: { + collision: "flip" + }, + select: function(event, ui) { + if (ui.item.indexItem) { + var url = getURL(ui.item.indexItem, ui.item.category); + window.location.href = pathtoroot + url; + $("#search-input").focus(); + } + } + }); + search.val(''); + search.prop("disabled", false); + reset.prop("disabled", false); + reset.click(function() { + search.val('').focus(); + }); + search.focus(); +}); diff --git a/docs/serialized-form.html b/docs/serialized-form.html new file mode 100644 index 0000000..cee7986 --- /dev/null +++ b/docs/serialized-form.html @@ -0,0 +1,213 @@ + + + + +Serialized Form + + + + + + + + + + + + + + +
    + +
    +
    +
    +

    Serialized Form

    +
    + +
    +
    +
    + + diff --git a/docs/stylesheet.css b/docs/stylesheet.css new file mode 100644 index 0000000..f71489f --- /dev/null +++ b/docs/stylesheet.css @@ -0,0 +1,1272 @@ +/* + * Javadoc style sheet + */ + +@import url('resources/fonts/dejavu.css'); + +/* + * These CSS custom properties (variables) define the core color and font + * properties used in this stylesheet. + */ +:root { + /* body, block and code fonts */ + --body-font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif; + --block-font-family: 'DejaVu Serif', Georgia, "Times New Roman", Times, serif; + --code-font-family: 'DejaVu Sans Mono', monospace; + /* Base font sizes for body and code elements */ + --body-font-size: 14px; + --code-font-size: 14px; + /* Text colors for body and block elements */ + --body-text-color: #353833; + --block-text-color: #474747; + /* Background colors for various structural elements */ + --body-background-color: #ffffff; + --section-background-color: #f8f8f8; + --detail-background-color: #ffffff; + /* Colors for navigation bar and table captions */ + --navbar-background-color: #4D7A97; + --navbar-text-color: #ffffff; + /* Background color for subnavigation and various headers */ + --subnav-background-color: #dee3e9; + /* Background and text colors for selected tabs and navigation items */ + --selected-background-color: #f8981d; + --selected-text-color: #253441; + --selected-link-color: #1f389c; + /* Background colors for generated tables */ + --even-row-color: #ffffff; + --odd-row-color: #eeeeef; + /* Text color for page title */ + --title-color: #2c4557; + /* Text colors for links */ + --link-color: #4A6782; + --link-color-active: #bb7a2a; + /* Snippet colors */ + --snippet-background-color: #ebecee; + --snippet-text-color: var(--block-text-color); + --snippet-highlight-color: #f7c590; + /* Border colors for structural elements and user defined tables */ + --border-color: #ededed; + --table-border-color: #000000; + /* Search input colors */ + --search-input-background-color: #ffffff; + --search-input-text-color: #000000; + --search-input-placeholder-color: #909090; + /* Highlight color for active search tag target */ + --search-tag-highlight-color: #ffff00; + /* Adjustments for icon and active background colors of copy-to-clipboard buttons */ + --copy-icon-brightness: 100%; + --copy-button-background-color-active: rgba(168, 168, 176, 0.3); + /* Colors for invalid tag notifications */ + --invalid-tag-background-color: #ffe6e6; + --invalid-tag-text-color: #000000; +} +/* + * Styles for individual HTML elements. + * + * These are styles that are specific to individual HTML elements. Changing them affects the style of a particular + * HTML element throughout the page. + */ +body { + background-color:var(--body-background-color); + color:var(--body-text-color); + font-family:var(--body-font-family); + font-size:var(--body-font-size); + margin:0; + padding:0; + height:100%; + width:100%; +} +iframe { + margin:0; + padding:0; + height:100%; + width:100%; + overflow-y:scroll; + border:none; +} +a:link, a:visited { + text-decoration:none; + color:var(--link-color); +} +a[href]:hover, a[href]:focus { + text-decoration:none; + color:var(--link-color-active); +} +pre { + font-family:var(--code-font-family); + font-size:1em; +} +h1 { + font-size:1.428em; +} +h2 { + font-size:1.285em; +} +h3 { + font-size:1.14em; +} +h4 { + font-size:1.072em; +} +h5 { + font-size:1.001em; +} +h6 { + font-size:0.93em; +} +/* Disable font boosting for selected elements */ +h1, h2, h3, h4, h5, h6, div.member-signature { + max-height: 1000em; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:var(--code-font-family); +} +:not(h1, h2, h3, h4, h5, h6) > code, +:not(h1, h2, h3, h4, h5, h6) > tt { + font-size:var(--code-font-size); + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:var(--code-font-family); + font-size:1em; + padding-top:4px; +} +.summary-table dt code { + font-family:var(--code-font-family); + font-size:1em; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +button { + font-family: var(--body-font-family); + font-size: 1em; +} +/* + * Styles for HTML generated by javadoc. + * + * These are style classes that are used by the standard doclet to generate HTML documentation. + */ + +/* + * Styles for document title and copyright. + */ +.about-language { + float:right; + padding:0 21px 8px 8px; + font-size:0.915em; + margin-top:-9px; + height:2.9em; +} +.legal-copy { + margin-left:.5em; +} +/* + * Styles for navigation bar. + */ +@media screen { + div.flex-box { + position:fixed; + display:flex; + flex-direction:column; + height: 100%; + width: 100%; + } + header.flex-header { + flex: 0 0 auto; + } + div.flex-content { + flex: 1 1 auto; + overflow-y: auto; + } +} +.top-nav { + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + float:left; + width:100%; + clear:right; + min-height:2.8em; + padding:10px 0 0 0; + overflow:hidden; + font-size:0.857em; +} +button#navbar-toggle-button { + display:none; +} +ul.sub-nav-list-small { + display: none; +} +.sub-nav { + background-color:var(--subnav-background-color); + float:left; + width:100%; + overflow:hidden; + font-size:0.857em; +} +.sub-nav div { + clear:left; + float:left; + padding:6px; + text-transform:uppercase; +} +.sub-nav .sub-nav-list { + padding-top:4px; +} +ul.nav-list { + display:block; + margin:0 25px 0 0; + padding:0; +} +ul.sub-nav-list { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.nav-list li { + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +.sub-nav .nav-list-search { + float:right; + margin:0; + padding:6px; + clear:none; + text-align:right; + position:relative; +} +ul.sub-nav-list li { + list-style:none; + float:left; +} +.top-nav a:link, .top-nav a:active, .top-nav a:visited { + color:var(--navbar-text-color); + text-decoration:none; + text-transform:uppercase; +} +.top-nav a:hover { + color:var(--link-color-active); +} +.nav-bar-cell1-rev { + background-color:var(--selected-background-color); + color:var(--selected-text-color); + margin: auto 5px; +} +.skip-nav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* + * Hide navigation links and search box in print layout + */ +@media print { + ul.nav-list, div.sub-nav { + display:none; + } +} +/* + * Styles for page header. + */ +.title { + color:var(--title-color); + margin:10px 0; +} +.sub-title { + margin:5px 0 0 0; +} +ul.contents-list { + margin: 0 0 15px 0; + padding: 0; + list-style: none; +} +ul.contents-list li { + font-size:0.93em; +} +/* + * Styles for headings. + */ +body.class-declaration-page .summary h2, +body.class-declaration-page .details h2, +body.class-use-page h2, +body.module-declaration-page .block-list h2 { + font-style: italic; + padding:0; + margin:15px 0; +} +body.class-declaration-page .summary h3, +body.class-declaration-page .details h3, +body.class-declaration-page .summary .inherited-list h2 { + background-color:var(--subnav-background-color); + border:1px solid var(--border-color); + margin:0 0 6px -8px; + padding:7px 5px; +} +/* + * Styles for page layout containers. + */ +main { + clear:both; + padding:10px 20px; + position:relative; +} +dl.notes > dt { + font-family: var(--body-font-family); + font-size:0.856em; + font-weight:bold; + margin:10px 0 0 0; + color:var(--body-text-color); +} +dl.notes > dd { + margin:5px 10px 10px 0; + font-size:1em; + font-family:var(--block-font-family) +} +dl.name-value > dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +dl.name-value > dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* + * Styles for lists. + */ +li.circle { + list-style:circle; +} +ul.horizontal li { + display:inline; + font-size:0.9em; +} +div.inheritance { + margin:0; + padding:0; +} +div.inheritance div.inheritance { + margin-left:2em; +} +ul.block-list, +ul.details-list, +ul.member-list, +ul.summary-list { + margin:10px 0 10px 0; + padding:0; +} +ul.block-list > li, +ul.details-list > li, +ul.member-list > li, +ul.summary-list > li { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.ref-list { + padding:0; + margin:0; +} +ul.ref-list > li { + list-style:none; +} +.summary-table dl, .summary-table dl dt, .summary-table dl dd { + margin-top:0; + margin-bottom:1px; +} +ul.tag-list, ul.tag-list-long { + padding-left: 0; + list-style: none; +} +ul.tag-list li { + display: inline; +} +ul.tag-list li:not(:last-child):after, +ul.tag-list-long li:not(:last-child):after +{ + content: ", "; + white-space: pre-wrap; +} +ul.preview-feature-list { + list-style: none; + margin:0; + padding:0.1em; + line-height: 1.6em; +} +/* + * Styles for tables. + */ +.summary-table, .details-table { + width:100%; + border-spacing:0; + border:1px solid var(--border-color); + border-top:0; + padding:0; +} +.caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:var(--selected-text-color); + clear:none; + overflow:hidden; + padding: 10px 0 0 1px; + margin:0; +} +.caption a:link, .caption a:visited { + color:var(--selected-link-color); +} +.caption a:hover, +.caption a:active { + color:var(--navbar-text-color); +} +.caption span { + font-weight:bold; + white-space:nowrap; + padding:5px 12px 7px 12px; + display:inline-block; + float:left; + background-color:var(--selected-background-color); + border: none; + height:16px; +} +div.table-tabs { + padding:10px 0 0 1px; + margin:10px 0 0 0; +} +div.table-tabs > button { + border: none; + cursor: pointer; + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 8px; +} +div.table-tabs > .active-table-tab { + background: var(--selected-background-color); + color: var(--selected-text-color); +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.two-column-search-results { + display: grid; + grid-template-columns: minmax(400px, max-content) minmax(400px, auto); +} +div.checkboxes { + line-height: 2em; +} +div.checkboxes > span { + margin-left: 10px; +} +div.checkboxes > label { + margin-left: 8px; + white-space: nowrap; +} +div.checkboxes > label > input { + margin: 0 2px; +} +.two-column-summary { + display: grid; + grid-template-columns: minmax(25%, max-content) minmax(25%, auto); +} +.three-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(20%, max-content) minmax(20%, auto); +} +.three-column-release-summary { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(10%, max-content) minmax(40%, auto); +} +.four-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, max-content) minmax(15%, auto); +} +@media screen and (max-width: 1000px) { + .four-column-summary { + display: grid; + grid-template-columns: minmax(15%, max-content) minmax(15%, auto); + } +} +@media screen and (max-width: 800px) { + .two-column-search-results { + display: grid; + grid-template-columns: minmax(40%, max-content) minmax(40%, auto); + } + .three-column-summary { + display: grid; + grid-template-columns: minmax(10%, max-content) minmax(25%, auto); + } + .three-column-release-summary { + display: grid; + grid-template-columns: minmax(70%, max-content) minmax(30%, max-content) + } + .three-column-summary .col-last, + .three-column-release-summary .col-last{ + grid-column-end: span 2; + } +} +@media screen and (max-width: 600px) { + .two-column-summary { + display: grid; + grid-template-columns: 1fr; + } +} +.summary-table > div, .details-table > div { + text-align:left; + padding: 8px 3px 3px 7px; + overflow-x: auto; + scrollbar-width: thin; +} +.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name { + vertical-align:top; + padding-right:0; + padding-top:8px; + padding-bottom:3px; +} +.table-header { + background:var(--subnav-background-color); + font-weight: bold; +} +/* Sortable table columns */ +.table-header[onclick] { + cursor: pointer; +} +.table-header[onclick]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + '); + background-size:100% 100%; + width:9px; + height:14px; + margin-left:4px; + margin-bottom:-3px; +} +.table-header[onclick].sort-asc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + +} +.table-header[onclick].sort-desc::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +.col-first, .col-first { + font-size:0.93em; +} +.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last { + font-size:0.93em; +} +.col-first, .col-second, .col-constructor-name { + vertical-align:top; + overflow: auto; +} +.col-last { + white-space:normal; +} +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-first a:link, .col-first a:visited, +.col-second a:link, .col-second a:visited, +.col-constructor-name a:link, .col-constructor-name a:visited, +.col-summary-item-name a:link, .col-summary-item-name a:visited { + font-weight:bold; +} +.even-row-color, .even-row-color .table-header { + background-color:var(--even-row-color); +} +.odd-row-color, .odd-row-color .table-header { + background-color:var(--odd-row-color); +} +/* + * Styles for contents. + */ +div.block { + font-size:var(--body-font-size); + font-family:var(--block-font-family); +} +.col-last div { + padding-top:0; +} +.col-last a { + padding-bottom:3px; +} +.module-signature, +.package-signature, +.type-signature, +.member-signature { + font-family:var(--code-font-family); + font-size:1em; + margin:14px 0; + white-space: pre-wrap; +} +.module-signature, +.package-signature, +.type-signature { + margin-top: 0; +} +.member-signature .type-parameters-long, +.member-signature .parameters, +.member-signature .exceptions { + display: inline-block; + vertical-align: top; + white-space: pre; +} +.member-signature .type-parameters { + white-space: normal; +} +/* + * Styles for formatting effect. + */ +.source-line-no { + /* Color of line numbers in source pages can be set via custom property below */ + color:var(--source-linenumber-color, green); + padding:0 30px 0 0; +} +.block { + display:block; + margin:0 10px 5px 0; + color:var(--block-text-color); +} +.deprecated-label, .description-from-type-label, .implementation-label, .member-name-link, +.module-label-in-package, .module-label-in-type, .package-label-in-type, +.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label { + font-weight:bold; +} +.deprecation-comment, .help-footnote, .preview-comment { + font-style:italic; +} +.deprecation-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +.preview-block { + font-size:1em; + font-family:var(--block-font-family); + border-style:solid; + border-width:thin; + border-radius:10px; + padding:10px; + margin-bottom:10px; + margin-right:10px; + display:inline-block; +} +div.block div.deprecation-comment { + font-style:normal; +} +details.invalid-tag, span.invalid-tag { + font-size:1em; + font-family:var(--block-font-family); + color: var(--invalid-tag-text-color); + background: var(--invalid-tag-background-color); + border: thin solid var(--table-border-color); + border-radius:2px; + padding: 2px 4px; + display:inline-block; +} +details summary { + cursor: pointer; +} +/* + * Styles specific to HTML5 elements. + */ +main, nav, header, footer, section { + display:block; +} +/* + * Styles for javadoc search. + */ +.ui-state-active { + /* Overrides the color of selection used in jQuery UI */ + background: var(--selected-background-color); + border: 1px solid var(--selected-background-color); + color: var(--selected-text-color); +} +.ui-autocomplete-category { + font-weight:bold; + font-size:15px; + padding:7px 0 7px 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); +} +.ui-autocomplete { + max-height:85%; + max-width:65%; + overflow-y:auto; + overflow-x:auto; + scrollbar-width: thin; + white-space:nowrap; + box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23); +} +ul.ui-autocomplete { + position:fixed; + z-index:1; + background-color: var(--body-background-color); +} +ul.ui-autocomplete li { + float:left; + clear:both; + min-width:100%; +} +ul.ui-autocomplete li.ui-static-link { + position:sticky; + bottom:0; + left:0; + background: var(--subnav-background-color); + padding: 5px 0; + font-family: var(--body-font-family); + font-size: 0.93em; + font-weight: bolder; + z-index: 2; +} +li.ui-static-link a, li.ui-static-link a:visited { + text-decoration:none; + color:var(--link-color); + float:right; + margin-right:20px; +} +.ui-autocomplete .result-item { + font-size: inherit; +} +.ui-autocomplete .result-highlight { + font-weight:bold; +} +#search-input, #page-search-input { + background-image:url('resources/glass.png'); + background-size:13px; + background-repeat:no-repeat; + background-position:2px 3px; + background-color: var(--search-input-background-color); + color: var(--search-input-text-color); + border-color: var(--border-color); + padding-left:20px; + width: 250px; + margin: 0; +} +#search-input { + margin-left: 4px; +} +#reset-button { + background-color: transparent; + background-image:url('resources/x.png'); + background-repeat:no-repeat; + background-size:contain; + border:0; + border-radius:0; + width:12px; + height:12px; + position:absolute; + right:12px; + top:10px; + font-size:0; +} +::placeholder { + color:var(--search-input-placeholder-color); + opacity: 1; +} +.search-tag-desc-result { + font-style:italic; + font-size:11px; +} +.search-tag-holder-result { + font-style:italic; + font-size:12px; +} +.search-tag-result:target { + background-color:var(--search-tag-highlight-color); +} +details.page-search-details { + display: inline-block; +} +div#result-container { + font-size: 1em; +} +div#result-container a.search-result-link { + padding: 0; + margin: 4px 0; + width: 100%; +} +#result-container .result-highlight { + font-weight:bolder; +} +.page-search-info { + background-color: var(--subnav-background-color); + border-radius: 3px; + border: 0 solid var(--border-color); + padding: 0 8px; + overflow: hidden; + height: 0; + transition: all 0.2s ease; +} +div.table-tabs > button.table-tab { + background: var(--navbar-background-color); + color: var(--navbar-text-color); +} +.page-search-header { + padding: 5px 12px 7px 12px; + font-weight: bold; + margin-right: 3px; + background-color:var(--navbar-background-color); + color:var(--navbar-text-color); + display: inline-block; +} +button.page-search-header { + border: none; + cursor: pointer; +} +span#page-search-link { + text-decoration: underline; +} +.module-graph span, .sealed-graph span { + display:none; + position:absolute; +} +.module-graph:hover span, .sealed-graph:hover span { + display:block; + margin: -100px 0 0 100px; + z-index: 1; +} +.inherited-list { + margin: 10px 0 10px 0; +} +section.class-description { + line-height: 1.4; +} +.summary section[class$="-summary"], .details section[class$="-details"], +.class-uses .detail, .serialized-class-details { + padding: 0 20px 5px 10px; + border: 1px solid var(--border-color); + background-color: var(--section-background-color); +} +.inherited-list, section[class$="-details"] .detail { + padding:0 0 5px 8px; + background-color:var(--detail-background-color); + border:none; +} +.vertical-separator { + padding: 0 5px; +} +ul.help-section-list { + margin: 0; +} +ul.help-subtoc > li { + display: inline-block; + padding-right: 5px; + font-size: smaller; +} +ul.help-subtoc > li::before { + content: "\2022" ; + padding-right:2px; +} +.help-note { + font-style: italic; +} +/* + * Indicator icon for external links. + */ +main a[href*="://"]::after { + content:""; + display:inline-block; + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); + background-size:100% 100%; + width:7px; + height:7px; + margin-left:2px; + margin-bottom:4px; +} +main a[href*="://"]:hover::after, +main a[href*="://"]:focus::after { + background-image:url('data:image/svg+xml; utf8, \ + \ + \ + '); +} +/* + * Styles for header/section anchor links + */ +a.anchor-link { + opacity: 0; + transition: opacity 0.1s; +} +:hover > a.anchor-link { + opacity: 80%; +} +a.anchor-link:hover, +a.anchor-link:focus-visible, +a.anchor-link.visible { + opacity: 100%; +} +a.anchor-link > img { + width: 0.9em; + height: 0.9em; +} +/* + * Styles for copy-to-clipboard buttons + */ +button.copy { + opacity: 70%; + border: none; + border-radius: 3px; + position: relative; + background:none; + transition: opacity 0.3s; + cursor: pointer; +} +:hover > button.copy { + opacity: 80%; +} +button.copy:hover, +button.copy:active, +button.copy:focus-visible, +button.copy.visible { + opacity: 100%; +} +button.copy img { + position: relative; + background: none; + filter: brightness(var(--copy-icon-brightness)); +} +button.copy:active { + background-color: var(--copy-button-background-color-active); +} +button.copy span { + color: var(--body-text-color); + position: relative; + top: -0.1em; + transition: all 0.1s; + font-size: 0.76rem; + line-height: 1.2em; + opacity: 0; +} +button.copy:hover span, +button.copy:focus-visible span, +button.copy.visible span { + opacity: 100%; +} +/* search page copy button */ +button#page-search-copy { + margin-left: 0.4em; + padding:0.3em; + top:0.13em; +} +button#page-search-copy img { + width: 1.2em; + height: 1.2em; + padding: 0.01em 0; + top: 0.15em; +} +button#page-search-copy span { + color: var(--body-text-color); + line-height: 1.2em; + padding: 0.2em; + top: -0.18em; +} +div.page-search-info:hover button#page-search-copy span { + opacity: 100%; +} +/* snippet copy button */ +button.snippet-copy { + position: absolute; + top: 6px; + right: 6px; + height: 1.7em; + padding: 2px; +} +button.snippet-copy img { + width: 18px; + height: 18px; + padding: 0.05em 0; +} +button.snippet-copy span { + line-height: 1.2em; + padding: 0.2em; + position: relative; + top: -0.5em; +} +div.snippet-container:hover button.snippet-copy span { + opacity: 100%; +} +/* + * Styles for user-provided tables. + * + * borderless: + * No borders, vertical margins, styled caption. + * This style is provided for use with existing doc comments. + * In general, borderless tables should not be used for layout purposes. + * + * plain: + * Plain borders around table and cells, vertical margins, styled caption. + * Best for small tables or for complex tables for tables with cells that span + * rows and columns, when the "striped" style does not work well. + * + * striped: + * Borders around the table and vertical borders between cells, striped rows, + * vertical margins, styled caption. + * Best for tables that have a header row, and a body containing a series of simple rows. + */ + +table.borderless, +table.plain, +table.striped { + margin-top: 10px; + margin-bottom: 10px; +} +table.borderless > caption, +table.plain > caption, +table.striped > caption { + font-weight: bold; + font-size: smaller; +} +table.borderless th, table.borderless td, +table.plain th, table.plain td, +table.striped th, table.striped td { + padding: 2px 5px; +} +table.borderless, +table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th, +table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td { + border: none; +} +table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr { + background-color: transparent; +} +table.plain { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.plain > thead > tr, table.plain > tbody tr, table.plain > tr { + background-color: transparent; +} +table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th, +table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped { + border-collapse: collapse; + border: 1px solid var(--table-border-color); +} +table.striped > thead { + background-color: var(--subnav-background-color); +} +table.striped > thead > tr > th, table.striped > thead > tr > td { + border: 1px solid var(--table-border-color); +} +table.striped > tbody > tr:nth-child(even) { + background-color: var(--odd-row-color) +} +table.striped > tbody > tr:nth-child(odd) { + background-color: var(--even-row-color) +} +table.striped > tbody > tr > th, table.striped > tbody > tr > td { + border-left: 1px solid var(--table-border-color); + border-right: 1px solid var(--table-border-color); +} +table.striped > tbody > tr > th { + font-weight: normal; +} +/** + * Tweak style for small screens. + */ +@media screen and (max-width: 920px) { + header.flex-header { + max-height: 100vh; + overflow-y: auto; + } + div#navbar-top { + height: 2.8em; + transition: height 0.35s ease; + } + ul.nav-list { + display: block; + width: 40%; + float:left; + clear: left; + margin: 10px 0 0 0; + padding: 0; + } + ul.nav-list li { + float: none; + padding: 6px; + margin-left: 10px; + margin-top: 2px; + } + ul.sub-nav-list-small { + display:block; + height: 100%; + width: 50%; + float: right; + clear: right; + background-color: var(--subnav-background-color); + color: var(--body-text-color); + margin: 6px 0 0 0; + padding: 0; + } + ul.sub-nav-list-small ul { + padding-left: 20px; + } + ul.sub-nav-list-small a:link, ul.sub-nav-list-small a:visited { + color:var(--link-color); + } + ul.sub-nav-list-small a:hover { + color:var(--link-color-active); + } + ul.sub-nav-list-small li { + list-style:none; + float:none; + padding: 6px; + margin-top: 1px; + text-transform:uppercase; + } + ul.sub-nav-list-small > li { + margin-left: 10px; + } + ul.sub-nav-list-small li p { + margin: 5px 0; + } + div#navbar-sub-list { + display: none; + } + .top-nav a:link, .top-nav a:active, .top-nav a:visited { + display: block; + } + button#navbar-toggle-button { + width: 3.4em; + height: 2.8em; + background-color: transparent; + display: block; + float: left; + border: 0; + margin: 0 10px; + cursor: pointer; + font-size: 10px; + } + button#navbar-toggle-button .nav-bar-toggle-icon { + display: block; + width: 24px; + height: 3px; + margin: 1px 0 4px 0; + border-radius: 2px; + transition: all 0.1s; + background-color: var(--navbar-text-color); + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(1) { + transform: rotate(45deg); + transform-origin: 10% 10%; + width: 26px; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(2) { + opacity: 0; + } + button#navbar-toggle-button.expanded span.nav-bar-toggle-icon:nth-child(3) { + transform: rotate(-45deg); + transform-origin: 10% 90%; + width: 26px; + } +} +@media screen and (max-width: 800px) { + .about-language { + padding-right: 16px; + } + ul.nav-list li { + margin-left: 5px; + } + ul.sub-nav-list-small > li { + margin-left: 5px; + } + main { + padding: 10px; + } + .summary section[class$="-summary"], .details section[class$="-details"], + .class-uses .detail, .serialized-class-details { + padding: 0 8px 5px 8px; + } + body { + -webkit-text-size-adjust: none; + } +} +@media screen and (max-width: 400px) { + .about-language { + font-size: 10px; + padding-right: 12px; + } +} +@media screen and (max-width: 400px) { + .nav-list-search { + width: 94%; + } + #search-input, #page-search-input { + width: 70%; + } +} +@media screen and (max-width: 320px) { + .nav-list-search > label { + display: none; + } + .nav-list-search { + width: 90%; + } + #search-input, #page-search-input { + width: 80%; + } +} + +pre.snippet { + background-color: var(--snippet-background-color); + color: var(--snippet-text-color); + padding: 10px; + margin: 12px 0; + overflow: auto; + white-space: pre; +} +div.snippet-container { + position: relative; +} +@media screen and (max-width: 800px) { + pre.snippet { + padding-top: 26px; + } + button.snippet-copy { + top: 4px; + right: 4px; + } +} +pre.snippet .italic { + font-style: italic; +} +pre.snippet .bold { + font-weight: bold; +} +pre.snippet .highlighted { + background-color: var(--snippet-highlight-color); + border-radius: 10%; +} diff --git a/docs/tag-search-index.js b/docs/tag-search-index.js new file mode 100644 index 0000000..bf10aaf --- /dev/null +++ b/docs/tag-search-index.js @@ -0,0 +1 @@ +tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"},{"l":"Serialized Form","h":"","u":"serialized-form.html"}];updateSearchResults(); \ No newline at end of file diff --git a/docs/type-search-index.js b/docs/type-search-index.js new file mode 100644 index 0000000..773f564 --- /dev/null +++ b/docs/type-search-index.js @@ -0,0 +1 @@ +typeSearchIndex = [{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"com.amirhn.Pieces","l":"Bishop"},{"p":"com.amirhn.Game","l":"Board"},{"p":"com.amirhn.GUI.Components","l":"BoardPanel"},{"p":"com.amirhn.Moves","l":"Capture"},{"p":"com.amirhn.Moves","l":"Castling"},{"p":"com.amirhn.Game","l":"Chess"},{"p":"com.amirhn.GUI","l":"ChessController"},{"p":"com.amirhn.GUI","l":"ChessFrame"},{"p":"com.amirhn.GUI","l":"ChessMenuBar"},{"p":"com.amirhn.GUI","l":"ChessMenuController"},{"p":"com.amirhn.Game","l":"Color"},{"p":"com.amirhn.GUI","l":"Constants"},{"p":"com.amirhn.Moves","l":"EnPassant"},{"p":"com.amirhn.Pieces","l":"King"},{"p":"com.amirhn.Pieces","l":"Knight"},{"p":"com.amirhn.Game","l":"Location"},{"p":"com.amirhn.GUI.Listeners","l":"LocationListener"},{"p":"com.amirhn.GUI.Components","l":"LocationPanel"},{"p":"com.amirhn.GUI.Components","l":"LocationState"},{"p":"com.amirhn.Moves","l":"LongCastling"},{"p":"com.amirhn","l":"Main"},{"p":"com.amirhn.Moves","l":"Move"},{"p":"com.amirhn.Moves","l":"MoveType"},{"p":"com.amirhn.Pieces","l":"Pawn"},{"p":"com.amirhn.Moves","l":"PawnPromotion"},{"p":"com.amirhn.Pieces","l":"Piece"},{"p":"com.amirhn.GUI.Components","l":"PieceImageIcon"},{"p":"com.amirhn.GUI.Components","l":"PiecePanel"},{"p":"com.amirhn.Pieces","l":"PieceType"},{"p":"com.amirhn.Players","l":"Player"},{"p":"com.amirhn.Moves","l":"Promotion"},{"p":"com.amirhn.Pieces","l":"Queen"},{"p":"com.amirhn.Pieces","l":"Rook"},{"p":"com.amirhn.Game","l":"Scene"},{"p":"com.amirhn.Moves","l":"ShortCastling"},{"p":"com.amirhn.Game","l":"Status"},{"p":"com.amirhn.GUI.Components","l":"TablePanel"},{"p":"com.amirhn.Moves","l":"Walk"}];updateSearchResults(); \ No newline at end of file diff --git a/src/main/java/com/amirhn/GUI/ChessController.java b/src/main/java/com/amirhn/GUI/ChessController.java index 83f568b..78c3938 100644 --- a/src/main/java/com/amirhn/GUI/ChessController.java +++ b/src/main/java/com/amirhn/GUI/ChessController.java @@ -15,9 +15,7 @@ import javax.sound.sampled.*; import javax.swing.*; -/** - * The type Chess controller. - */ +/** The type Chess controller. */ public class ChessController implements LocationListener, ChessMenuController { private final BoardPanel boardPanel; @@ -32,7 +30,7 @@ public class ChessController implements LocationListener, ChessMenuController { * @param chess the chess * @param boardPanel the board panel */ -public ChessController(Chess chess, BoardPanel boardPanel) { + public ChessController(Chess chess, BoardPanel boardPanel) { this.boardPanel = boardPanel; this.boardPanel.setLocationListener(this); initialize(chess); @@ -52,10 +50,8 @@ private void addPiece(Piece piece) { this.boardPanel.addPiecePanel(piecePanel, piece.getLocation()); } - /** - * Apply random move. - */ -public void applyRandomMove() { + /** Apply random move. */ + public void applyRandomMove() { if (finished) return; Move move = chess.getRandomMove(); if (move != null && applyMove(move)) { @@ -107,7 +103,7 @@ private void playMoveSound(Move move) { * @param move the move * @return the boolean */ -public boolean applyMove(Move move) { + public boolean applyMove(Move move) { if (!chess.applyMove(move)) return false; playMoveSound(move); lastMove = move; @@ -143,7 +139,7 @@ private void draw() { * * @param location the location */ -@Override + @Override public void locationSelected(Location location) { if (finished) return; if (currentSelectedPiece == null) { @@ -162,7 +158,7 @@ public void locationSelected(Location location) { * * @param location the location */ -@Override + @Override public void locationGrabbed(Location location) { if (finished) return; currentSelectedPiece = chess.getBoard().getPiece(location); @@ -174,7 +170,7 @@ public void locationGrabbed(Location location) { * * @param location the location */ -@Override + @Override public void locationDropped(Location location) { if (finished) return; if (currentSelectedPiece == null) { @@ -194,7 +190,7 @@ public void locationDropped(Location location) { * @param location the location * @return the boolean */ -@Override + @Override public boolean isLocationDraggable(Location location) { return !finished && chess.getBoard().isOccupied(location) @@ -215,28 +211,22 @@ private void checkForFinish() { finished = true; } - /** - * New game. - */ -@Override + /** New game. */ + @Override public void newGame() { initialize(new Chess()); } - /** - * Load fen. - */ -@Override + /** Load fen. */ + @Override public void loadFEN() { String fen = JOptionPane.showInputDialog(boardPanel, "Enter FEN:"); if (fen == null) return; initialize(new Chess(fen)); } - /** - * Undo move. - */ -@Override + /** Undo move. */ + @Override public void undoMove() { if (finished) return; chess.undoMove(); diff --git a/src/main/java/com/amirhn/GUI/ChessFrame.java b/src/main/java/com/amirhn/GUI/ChessFrame.java index b7a724d..d42739a 100644 --- a/src/main/java/com/amirhn/GUI/ChessFrame.java +++ b/src/main/java/com/amirhn/GUI/ChessFrame.java @@ -6,15 +6,11 @@ import java.awt.event.KeyEvent; import javax.swing.*; -/** - * The type Chess frame. - */ +/** The type Chess frame. */ public class ChessFrame extends JFrame { - /** - * Instantiates a new Chess frame. - */ -public ChessFrame() { + /** Instantiates a new Chess frame. */ + public ChessFrame() { super(); Chess chess = new Chess(); diff --git a/src/main/java/com/amirhn/GUI/ChessMenuBar.java b/src/main/java/com/amirhn/GUI/ChessMenuBar.java index d991fe6..58b4327 100644 --- a/src/main/java/com/amirhn/GUI/ChessMenuBar.java +++ b/src/main/java/com/amirhn/GUI/ChessMenuBar.java @@ -4,9 +4,7 @@ import java.awt.event.ActionListener; import javax.swing.*; -/** - * The type Chess menu bar. - */ +/** The type Chess menu bar. */ public class ChessMenuBar extends JMenuBar implements ActionListener { private final ChessMenuController controller; @@ -21,7 +19,7 @@ public class ChessMenuBar extends JMenuBar implements ActionListener { * * @param controller the controller */ -public ChessMenuBar(ChessMenuController controller) { + public ChessMenuBar(ChessMenuController controller) { this.controller = controller; JMenu gameMenu = new JMenu("Game"); @@ -48,7 +46,7 @@ public ChessMenuBar(ChessMenuController controller) { * * @param e the e */ -@Override + @Override public void actionPerformed(ActionEvent e) { if (e.getSource() == newGame) { controller.newGame(); diff --git a/src/main/java/com/amirhn/GUI/ChessMenuController.java b/src/main/java/com/amirhn/GUI/ChessMenuController.java index 48ef37b..1c6ec9e 100644 --- a/src/main/java/com/amirhn/GUI/ChessMenuController.java +++ b/src/main/java/com/amirhn/GUI/ChessMenuController.java @@ -1,26 +1,16 @@ package com.amirhn.GUI; -/** - * The interface Chess menu controller. - */ +/** The interface Chess menu controller. */ public interface ChessMenuController { - /** - * New game. - */ -void newGame(); + /** New game. */ + void newGame(); - /** - * Load fen. - */ -void loadFEN(); + /** Load fen. */ + void loadFEN(); - /** - * Undo move. - */ -void undoMove(); + /** Undo move. */ + void undoMove(); - /** - * Apply random move. - */ -void applyRandomMove(); + /** Apply random move. */ + void applyRandomMove(); } diff --git a/src/main/java/com/amirhn/GUI/Components/BoardPanel.java b/src/main/java/com/amirhn/GUI/Components/BoardPanel.java index 1a20086..c464f9b 100644 --- a/src/main/java/com/amirhn/GUI/Components/BoardPanel.java +++ b/src/main/java/com/amirhn/GUI/Components/BoardPanel.java @@ -8,9 +8,7 @@ import java.util.Arrays; import javax.swing.*; -/** - * The type Board panel. - */ +/** The type Board panel. */ public class BoardPanel extends JLayeredPane implements MouseMotionListener, MouseListener { private final TablePanel tablePanel; @@ -23,7 +21,7 @@ public class BoardPanel extends JLayeredPane implements MouseMotionListener, Mou * @param rows the rows * @param columns the columns */ -public BoardPanel(int rows, int columns) { + public BoardPanel(int rows, int columns) { super(); this.tablePanel = new TablePanel(rows, columns); this.tablePanel.setBounds( @@ -40,7 +38,7 @@ public BoardPanel(int rows, int columns) { * * @param locationListener the location listener */ -public void setLocationListener(LocationListener locationListener) { + public void setLocationListener(LocationListener locationListener) { this.locationListener = locationListener; } @@ -50,7 +48,7 @@ public void setLocationListener(LocationListener locationListener) { * @param piecePanel the piece panel * @param location the location */ -public void addPiecePanel(PiecePanel piecePanel, Location location) { + public void addPiecePanel(PiecePanel piecePanel, Location location) { if (location == null) return; piecePanel.setBounds( this.tablePanel.pointOf(location).x, @@ -60,17 +58,13 @@ public void addPiecePanel(PiecePanel piecePanel, Location location) { this.add(piecePanel, Integer.valueOf(1)); } - /** - * Remove piece panels. - */ -public void removePiecePanels() { + /** Remove piece panels. */ + public void removePiecePanels() { Arrays.stream(this.getComponents()).filter(c -> c instanceof PiecePanel).forEach(this::remove); } - /** - * Reset location states. - */ -public void resetLocationStates() { + /** Reset location states. */ + public void resetLocationStates() { this.tablePanel.resetLocationStates(); } @@ -80,7 +74,7 @@ public void resetLocationStates() { * @param location the location * @param state the state */ -public void setLocationState(Location location, LocationState state) { + public void setLocationState(Location location, LocationState state) { this.tablePanel.getLocationPanel(location).setState(state); } @@ -89,7 +83,7 @@ public void setLocationState(Location location, LocationState state) { * * @param e the e */ -@Override + @Override public void mouseDragged(MouseEvent e) { if (this.movingPiecePanel == null) return; e.translatePoint(-movingPiecePanel.getWidth() / 2, -movingPiecePanel.getHeight() / 2); @@ -101,7 +95,7 @@ public void mouseDragged(MouseEvent e) { * * @param e the e */ -@Override + @Override public void mouseMoved(MouseEvent e) {} /** @@ -109,7 +103,7 @@ public void mouseMoved(MouseEvent e) {} * * @param e the e */ -@Override + @Override public void mouseClicked(MouseEvent e) { this.locationListener.locationSelected(this.tablePanel.locationOf(e.getPoint())); } @@ -119,7 +113,7 @@ public void mouseClicked(MouseEvent e) { * * @param e the e */ -@Override + @Override public void mousePressed(MouseEvent e) { if (this.movingPiecePanel != null) return; Location grabbedLocation = this.tablePanel.locationOf(e.getPoint()); @@ -138,7 +132,7 @@ public void mousePressed(MouseEvent e) { * * @param e the e */ -@Override + @Override public void mouseReleased(MouseEvent e) { if (this.movingPiecePanel == null) return; this.locationListener.locationDropped(this.tablePanel.locationOf(e.getPoint())); @@ -150,7 +144,7 @@ public void mouseReleased(MouseEvent e) { * * @param e the e */ -@Override + @Override public void mouseEntered(MouseEvent e) {} /** @@ -158,6 +152,6 @@ public void mouseEntered(MouseEvent e) {} * * @param e the e */ -@Override + @Override public void mouseExited(MouseEvent e) {} } diff --git a/src/main/java/com/amirhn/GUI/Components/LocationPanel.java b/src/main/java/com/amirhn/GUI/Components/LocationPanel.java index 35ec194..a92936a 100644 --- a/src/main/java/com/amirhn/GUI/Components/LocationPanel.java +++ b/src/main/java/com/amirhn/GUI/Components/LocationPanel.java @@ -4,15 +4,12 @@ import java.awt.*; import javax.swing.*; -/** - * The type Location panel. - */ +/** The type Location panel. */ public class LocationPanel extends JLayeredPane { - /** - * The constant Size. - */ -public static final Dimension Size = Constants.TileSize; + /** The constant Size. */ + public static final Dimension Size = Constants.TileSize; + private final JPanel statePanel; /** @@ -20,7 +17,7 @@ public class LocationPanel extends JLayeredPane { * * @param isLight the is light */ -public LocationPanel(boolean isLight) { + public LocationPanel(boolean isLight) { super(); this.setPreferredSize(Constants.TileSize); this.setBackground(isLight ? Constants.LightTileColor : Constants.DarkTileColor); @@ -42,7 +39,7 @@ public LocationPanel(boolean isLight) { * * @param state the state */ -public void setState(LocationState state) { + public void setState(LocationState state) { this.statePanel.setBackground(state.color); repaint(); } diff --git a/src/main/java/com/amirhn/GUI/Components/LocationState.java b/src/main/java/com/amirhn/GUI/Components/LocationState.java index f8d630f..fd345a4 100644 --- a/src/main/java/com/amirhn/GUI/Components/LocationState.java +++ b/src/main/java/com/amirhn/GUI/Components/LocationState.java @@ -3,31 +3,19 @@ import com.amirhn.GUI.Constants; import java.awt.*; -/** - * The enum Location state. - */ +/** The enum Location state. */ public enum LocationState { - /** - *Lastmove location state. - */ -LASTMOVE(Constants.YellowGreenColor), - /** - *Selected location state. - */ -SELECTED(Constants.GreenColor), - /** - *Suggested location state. - */ -SUGGESTED(Constants.GreenColor), - /** - *Normal location state. - */ -NORMAL(Constants.TransparentColor); + /** Lastmove location state. */ + LASTMOVE(Constants.YellowGreenColor), + /** Selected location state. */ + SELECTED(Constants.GreenColor), + /** Suggested location state. */ + SUGGESTED(Constants.GreenColor), + /** Normal location state. */ + NORMAL(Constants.TransparentColor); - /** - * The Color. - */ -public final Color color; + /** The Color. */ + public final Color color; LocationState(Color color) { this.color = color; diff --git a/src/main/java/com/amirhn/GUI/Components/PieceImageIcon.java b/src/main/java/com/amirhn/GUI/Components/PieceImageIcon.java index 41d87e0..cbb8b2e 100644 --- a/src/main/java/com/amirhn/GUI/Components/PieceImageIcon.java +++ b/src/main/java/com/amirhn/GUI/Components/PieceImageIcon.java @@ -3,9 +3,7 @@ import com.amirhn.GUI.Constants; import javax.swing.*; -/** - * The type Piece image icon. - */ +/** The type Piece image icon. */ public class PieceImageIcon extends ImageIcon { private static final String DefaultPath = Constants.PieceImageDirectory; @@ -15,7 +13,7 @@ public class PieceImageIcon extends ImageIcon { * @param color the color * @param typeLetter the type letter */ -public PieceImageIcon(String color, char typeLetter) { + public PieceImageIcon(String color, char typeLetter) { super(DefaultPath + "/" + color.toLowerCase().charAt(0) + typeLetter + ".png"); } } diff --git a/src/main/java/com/amirhn/GUI/Components/PiecePanel.java b/src/main/java/com/amirhn/GUI/Components/PiecePanel.java index 4a843cc..9fbbb08 100644 --- a/src/main/java/com/amirhn/GUI/Components/PiecePanel.java +++ b/src/main/java/com/amirhn/GUI/Components/PiecePanel.java @@ -4,26 +4,21 @@ import java.awt.*; import javax.swing.*; -/** - * The type Piece panel. - */ +/** The type Piece panel. */ public class PiecePanel extends JPanel { - /** - * The constant Size. - */ -public static final Dimension Size = Constants.PieceSize; - /** - * The Label. - */ -public JLabel label; + /** The constant Size. */ + public static final Dimension Size = Constants.PieceSize; + + /** The Label. */ + public JLabel label; /** * Instantiates a new Piece panel. * * @param icon the icon */ -public PiecePanel(PieceImageIcon icon) { + public PiecePanel(PieceImageIcon icon) { super(new BorderLayout()); this.setOpaque(false); this.label = diff --git a/src/main/java/com/amirhn/GUI/Components/TablePanel.java b/src/main/java/com/amirhn/GUI/Components/TablePanel.java index ce83e3e..cb03ccd 100644 --- a/src/main/java/com/amirhn/GUI/Components/TablePanel.java +++ b/src/main/java/com/amirhn/GUI/Components/TablePanel.java @@ -4,9 +4,7 @@ import java.awt.*; import javax.swing.*; -/** - * The type Table panel. - */ +/** The type Table panel. */ public class TablePanel extends JPanel { private final int rows, columns; @@ -18,7 +16,7 @@ public class TablePanel extends JPanel { * @param rows the rows * @param columns the columns */ -public TablePanel(int rows, int columns) { + public TablePanel(int rows, int columns) { super(new GridLayout(rows, columns)); this.rows = rows; this.columns = columns; @@ -37,7 +35,7 @@ public TablePanel(int rows, int columns) { * @param location the location * @return the location panel */ -public LocationPanel getLocationPanel(Location location) { + public LocationPanel getLocationPanel(Location location) { return this.getLocationPanel(location.row, location.column); } @@ -48,14 +46,12 @@ public LocationPanel getLocationPanel(Location location) { * @param j the j * @return the location panel */ -public LocationPanel getLocationPanel(int i, int j) { + public LocationPanel getLocationPanel(int i, int j) { return this.locationPanels[i][j]; } - /** - * Reset location states. - */ -public void resetLocationStates() { + /** Reset location states. */ + public void resetLocationStates() { for (int i = 0; i < rows; i++) for (int j = 0; j < columns; j++) { LocationPanel locationPanel = this.getLocationPanel(i, j); @@ -69,7 +65,7 @@ public void resetLocationStates() { * @param location the location * @return the point */ -public Point pointOf(Location location) { + public Point pointOf(Location location) { return new Point( location.column * LocationPanel.Size.width, (rows - location.row - 1) * LocationPanel.Size.height); @@ -81,7 +77,7 @@ public Point pointOf(Location location) { * @param point the point * @return the location */ -public Location locationOf(Point point) { + public Location locationOf(Point point) { return Location.valueOf( rows - 1 - point.y / LocationPanel.Size.height, point.x / LocationPanel.Size.width); } diff --git a/src/main/java/com/amirhn/GUI/Constants.java b/src/main/java/com/amirhn/GUI/Constants.java index ff98aa6..d430514 100644 --- a/src/main/java/com/amirhn/GUI/Constants.java +++ b/src/main/java/com/amirhn/GUI/Constants.java @@ -2,60 +2,41 @@ import java.awt.*; -/** - * The type Constants. - */ +/** The type Constants. */ public class Constants { - /** - * The constant PieceSize. - */ -public static final Dimension PieceSize = new Dimension(100, 100); - /** - * The constant TileSize. - */ -public static final Dimension TileSize = new Dimension(100, 100); - - /** - * The constant LightTileColor. - */ -public static final Color LightTileColor = new Color(240, 217, 181); - /** - * The constant DarkTileColor. - */ -public static final Color DarkTileColor = new Color(181, 136, 99); - - /** - * The constant YellowGreenColor. - */ -public static final Color YellowGreenColor = new Color(155, 199, 0, 90); - /** - * The constant GreenColor. - */ -public static final Color GreenColor = new Color(20, 85, 30, 100); - /** - * The constant TransparentColor. - */ -public static final Color TransparentColor = new Color(0, 0, 0, 0); - - /** - * The constant GameTitle. - */ -public static final String GameTitle = "Chess"; - /** - * The constant PieceImageDirectory. - */ -public static final String PieceImageDirectory = "png"; - - /** - * The constant SoundDirectory. - */ -public static final String SoundDirectory = "sound"; - /** - * The constant MoveSoundPath. - */ -public static final String MoveSoundPath = Constants.SoundDirectory + "/" + "move.wav"; - /** - * The constant CaptureSoundPath. - */ -public static final String CaptureSoundPath = Constants.SoundDirectory + "/" + "capture.wav"; + /** The constant PieceSize. */ + public static final Dimension PieceSize = new Dimension(100, 100); + + /** The constant TileSize. */ + public static final Dimension TileSize = new Dimension(100, 100); + + /** The constant LightTileColor. */ + public static final Color LightTileColor = new Color(240, 217, 181); + + /** The constant DarkTileColor. */ + public static final Color DarkTileColor = new Color(181, 136, 99); + + /** The constant YellowGreenColor. */ + public static final Color YellowGreenColor = new Color(155, 199, 0, 90); + + /** The constant GreenColor. */ + public static final Color GreenColor = new Color(20, 85, 30, 100); + + /** The constant TransparentColor. */ + public static final Color TransparentColor = new Color(0, 0, 0, 0); + + /** The constant GameTitle. */ + public static final String GameTitle = "Chess"; + + /** The constant PieceImageDirectory. */ + public static final String PieceImageDirectory = "png"; + + /** The constant SoundDirectory. */ + public static final String SoundDirectory = "sound"; + + /** The constant MoveSoundPath. */ + public static final String MoveSoundPath = Constants.SoundDirectory + "/" + "move.wav"; + + /** The constant CaptureSoundPath. */ + public static final String CaptureSoundPath = Constants.SoundDirectory + "/" + "capture.wav"; } diff --git a/src/main/java/com/amirhn/GUI/Listeners/LocationListener.java b/src/main/java/com/amirhn/GUI/Listeners/LocationListener.java index 52fc4a7..4c3ec07 100644 --- a/src/main/java/com/amirhn/GUI/Listeners/LocationListener.java +++ b/src/main/java/com/amirhn/GUI/Listeners/LocationListener.java @@ -2,30 +2,28 @@ import com.amirhn.Game.Location; -/** - * The interface Location listener. - */ +/** The interface Location listener. */ public interface LocationListener { /** * Location selected. * * @param location the location */ -void locationSelected(Location location); + void locationSelected(Location location); /** * Location grabbed. * * @param location the location */ -void locationGrabbed(Location location); + void locationGrabbed(Location location); /** * Location dropped. * * @param location the location */ -void locationDropped(Location location); + void locationDropped(Location location); /** * Is location draggable boolean. @@ -33,5 +31,5 @@ public interface LocationListener { * @param location the location * @return the boolean */ -boolean isLocationDraggable(Location location); + boolean isLocationDraggable(Location location); } diff --git a/src/main/java/com/amirhn/Game/Board.java b/src/main/java/com/amirhn/Game/Board.java index 28d0d0c..a6450fe 100644 --- a/src/main/java/com/amirhn/Game/Board.java +++ b/src/main/java/com/amirhn/Game/Board.java @@ -5,21 +5,15 @@ import java.util.List; import java.util.Map; -/** - * The type Board. - */ +/** The type Board. */ public class Board { - /** - * The Rows. - */ -public final int rows, /** - * The Columns. - */ -columns; - /** - * The Piece by location. - */ -public final Map pieceByLocation = new HashMap<>(); + /** The Rows. */ + public final int rows, + /** The Columns. */ + columns; + + /** The Piece by location. */ + public final Map pieceByLocation = new HashMap<>(); /** * Instantiates a new Board. @@ -27,7 +21,7 @@ public class Board { * @param rows the rows * @param columns the columns */ -public Board(int rows, int columns) { + public Board(int rows, int columns) { this.rows = rows; this.columns = columns; } @@ -38,7 +32,7 @@ public Board(int rows, int columns) { * @param fen the fen * @return the board */ -public static Board fromFEN(String fen) { + public static Board fromFEN(String fen) { int rows = fen.split("/").length; Board board = new Board(rows, rows); board.setupFEN(fen); @@ -50,7 +44,7 @@ public static Board fromFEN(String fen) { * * @param fen the fen */ -public void setupFEN(String fen) { + public void setupFEN(String fen) { pieceByLocation.clear(); String[] rows = fen.split("/"); int i = rows.length - 1; @@ -74,7 +68,7 @@ public void setupFEN(String fen) { * @param location the location * @return the boolean */ -public boolean isValidLocation(Location location) { + public boolean isValidLocation(Location location) { if (location == null) return false; return 0 <= location.row && location.row < this.rows @@ -88,7 +82,7 @@ public boolean isValidLocation(Location location) { * @param location the location * @return the boolean */ -public boolean isOccupied(Location location) { + public boolean isOccupied(Location location) { if (!this.isValidLocation(location)) return false; return getPiece(location) != null; } @@ -99,7 +93,7 @@ public boolean isOccupied(Location location) { * @param location the location * @return the piece */ -public Piece getPiece(Location location) { + public Piece getPiece(Location location) { return this.pieceByLocation.get(location); } @@ -108,7 +102,7 @@ public Piece getPiece(Location location) { * * @param piece the piece */ -public void setPiece(Piece piece) { + public void setPiece(Piece piece) { this.pieceByLocation.put(piece.getLocation(), piece); } @@ -117,7 +111,7 @@ public void setPiece(Piece piece) { * * @param piece the piece */ -public void removePiece(Piece piece) { + public void removePiece(Piece piece) { this.pieceByLocation.remove(piece.getLocation()); } @@ -126,7 +120,7 @@ public void removePiece(Piece piece) { * * @return the all pieces */ -public List getAllPieces() { + public List getAllPieces() { return pieceByLocation.values().stream().toList(); } @@ -136,7 +130,7 @@ public List getAllPieces() { * @param piece the piece * @return the boolean */ -public boolean isValidPiece(Piece piece) { + public boolean isValidPiece(Piece piece) { return this.getPiece(piece.getLocation()) == piece; } @@ -145,7 +139,7 @@ public boolean isValidPiece(Piece piece) { * * @return the string */ -@Override + @Override public String toString() { StringBuilder board = new StringBuilder(); board.append(" \t"); @@ -166,7 +160,7 @@ public String toString() { * * @return the board */ -public Board copy() { + public Board copy() { Board board = new Board(this.rows, this.columns); for (Piece piece : this.getAllPieces()) board.setPiece(piece.copy()); return board; @@ -178,7 +172,7 @@ public Board copy() { * @param o the o * @return the boolean */ -@Override + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; diff --git a/src/main/java/com/amirhn/Game/Chess.java b/src/main/java/com/amirhn/Game/Chess.java index 7435ec4..286b723 100644 --- a/src/main/java/com/amirhn/Game/Chess.java +++ b/src/main/java/com/amirhn/Game/Chess.java @@ -8,41 +8,31 @@ import java.util.ArrayList; import java.util.List; -/** - * The type Chess. - */ +/** The type Chess. */ public class Chess { - /** - * The constant OriginalFen. - */ -public static final String OriginalFen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"; - /** - * The White player. - */ -public Player whitePlayer = new Player(Color.WHITE); - /** - * The Black player. - */ -public Player blackPlayer = new Player(Color.BLACK); - /** - * The Moves. - */ -public List moves = new ArrayList<>(); - /** - * The Turn. - */ -public Color turn = Color.WHITE; - /** - * The History. - */ -public List history = new ArrayList<>(); + /** The constant OriginalFen. */ + public static final String OriginalFen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -"; + + /** The White player. */ + public Player whitePlayer = new Player(Color.WHITE); + + /** The Black player. */ + public Player blackPlayer = new Player(Color.BLACK); + + /** The Moves. */ + public List moves = new ArrayList<>(); + + /** The Turn. */ + public Color turn = Color.WHITE; + + /** The History. */ + public List history = new ArrayList<>(); + private Board board; - /** - * Instantiates a new Chess. - */ -public Chess() { + /** Instantiates a new Chess. */ + public Chess() { this(OriginalFen); } @@ -51,7 +41,7 @@ public Chess() { * * @param fen the fen */ -public Chess(String fen) { + public Chess(String fen) { this.setupFEN(fen); history.add(new Scene(board.copy(), turn)); } @@ -61,7 +51,7 @@ public Chess(String fen) { * * @param fen the fen */ -public void setupFEN(String fen) { + public void setupFEN(String fen) { String[] parts = fen.split(" "); board = Board.fromFEN(parts[0]); turn = Color.fromString(parts[1]); @@ -87,7 +77,7 @@ public void setupFEN(String fen) { * * @param piece the piece */ -public void setPiece(Piece piece) { + public void setPiece(Piece piece) { this.board.setPiece(piece); } @@ -96,7 +86,7 @@ public void setPiece(Piece piece) { * * @return the board */ -public Board getBoard() { + public Board getBoard() { return board; } @@ -105,7 +95,7 @@ public Board getBoard() { * * @return the turn player */ -public Player getTurnPlayer() { + public Player getTurnPlayer() { return getPlayer(turn); } @@ -114,7 +104,7 @@ public Player getTurnPlayer() { * * @return the opponent player */ -public Player getOpponentPlayer() { + public Player getOpponentPlayer() { return getPlayer(turn.opposite()); } @@ -124,7 +114,7 @@ public Player getOpponentPlayer() { * @param color the color * @return the player */ -public Player getPlayer(Color color) { + public Player getPlayer(Color color) { if (color == Color.WHITE) return whitePlayer; return blackPlayer; } @@ -134,7 +124,7 @@ public Player getPlayer(Color color) { * * @return the allowed moves */ -public List getAllowedMoves() { + public List getAllowedMoves() { return getTurnPlayer().getAllowedMoves(this); } @@ -143,7 +133,7 @@ public List getAllowedMoves() { * * @return the random move */ -public Move getRandomMove() { + public Move getRandomMove() { List moves = getAllowedMoves(); if (moves.isEmpty()) return null; return moves.get((int) (Math.random() * moves.size())); @@ -176,7 +166,7 @@ private boolean applyLegalMove(Move move) { * @param move the move * @return the boolean */ -public boolean applyMove(Move move) { + public boolean applyMove(Move move) { if (move == null) return false; return getAllowedMoves().stream().filter(m -> m.toString().equals(move.toString())).count() == 1 && applyLegalMove(move); @@ -187,7 +177,7 @@ public boolean applyMove(Move move) { * * @return the boolean */ -public boolean isInCheck() { + public boolean isInCheck() { King king = getTurnPlayer().getKing(board); return getOpponentPlayer().isThreatening(board, king.getLocation()); } @@ -197,7 +187,7 @@ public boolean isInCheck() { * * @return the boolean */ -public boolean isCheckmate() { + public boolean isCheckmate() { if (!isInCheck()) return false; return getAllowedMoves().isEmpty(); } @@ -207,7 +197,7 @@ public boolean isCheckmate() { * * @return the boolean */ -public boolean isStalemate() { + public boolean isStalemate() { if (isInCheck()) return false; return getTurnPlayer().getAllowedMoves(this).isEmpty(); } @@ -217,7 +207,7 @@ public boolean isStalemate() { * * @return the boolean */ -public boolean isThreefoldRepetition() { + public boolean isThreefoldRepetition() { Scene currentScene = history.getLast(); int count = 0; for (Scene scene : history) { @@ -231,7 +221,7 @@ public boolean isThreefoldRepetition() { * * @return the boolean */ -public boolean is50MoveRule() { + public boolean is50MoveRule() { if (moves.size() < 50) return false; return moves.subList(moves.size() - 50, moves.size()).stream() .noneMatch(move -> move.type == MoveType.CAPTURE || move.piece.type == PieceType.PAWN); @@ -242,7 +232,7 @@ public boolean is50MoveRule() { * * @return the boolean */ -public boolean isDraw() { + public boolean isDraw() { return is50MoveRule() || isThreefoldRepetition(); } @@ -251,17 +241,15 @@ public boolean isDraw() { * * @return the status */ -public Status getStatus() { + public Status getStatus() { if (isCheckmate()) return Status.CHECKMATE; if (isStalemate()) return Status.STALEMATE; if (isDraw()) return Status.DRAW; return Status.ONGOING; } - /** - * Undo move. - */ -public void undoMove() { + /** Undo move. */ + public void undoMove() { if (history.size() < 2) return; history.removeLast(); Scene scene = history.getLast(); @@ -276,7 +264,7 @@ public void undoMove() { * @param moveString the move string * @return the move */ -public Move moveFromString(String moveString) { + public Move moveFromString(String moveString) { if (moveString.equals("O-O")) return new ShortCastling( getTurnPlayer().getKing(board), getTurnPlayer().getKingSideRook(board)); @@ -324,7 +312,7 @@ public Move moveFromString(String moveString) { * * @return the string */ -@Override + @Override public String toString() { return "Turn: " + turn + "\n" + board; } diff --git a/src/main/java/com/amirhn/Game/Color.java b/src/main/java/com/amirhn/Game/Color.java index 1e89147..6b55258 100644 --- a/src/main/java/com/amirhn/Game/Color.java +++ b/src/main/java/com/amirhn/Game/Color.java @@ -1,22 +1,14 @@ package com.amirhn.Game; -/** - * The enum Color. - */ +/** The enum Color. */ public enum Color { - /** - *Black color. - */ -BLACK(-1), - /** - *White color. - */ -WHITE(+1); + /** Black color. */ + BLACK(-1), + /** White color. */ + WHITE(+1); - /** - * The Direction. - */ -public final int direction; + /** The Direction. */ + public final int direction; Color(int direction) { this.direction = direction; @@ -28,19 +20,19 @@ public enum Color { * @param c the c * @return the color */ -public static Color valueOfPieceChar(char c) { + public static Color valueOfPieceChar(char c) { if (Character.isUpperCase(c)) return Color.WHITE; if (Character.isLowerCase(c)) return Color.BLACK; return null; } /** - * Value of color. - * - * @param c the c -* @return the color - */ -public static Color valueOf(char c) { + * Value of color. + * + * @param c the c + * @return the color + */ + public static Color valueOf(char c) { if (Character.toUpperCase(c) == 'W') return Color.WHITE; if (Character.toUpperCase(c) == 'B') return Color.BLACK; return null; @@ -52,7 +44,7 @@ public static Color valueOf(char c) { * @param c the c * @return the color */ -public static Color fromString(String c) { + public static Color fromString(String c) { if (c.length() == 1) return valueOf(c.charAt(0)); if (c.equalsIgnoreCase("WHITE")) return Color.WHITE; if (c.equalsIgnoreCase("BLACK")) return Color.BLACK; @@ -64,7 +56,7 @@ public static Color fromString(String c) { * * @return the color */ -public Color opposite() { + public Color opposite() { if (this == Color.BLACK) return Color.WHITE; if (this == Color.WHITE) return Color.BLACK; return null; diff --git a/src/main/java/com/amirhn/Game/Location.java b/src/main/java/com/amirhn/Game/Location.java index e4a1420..e43325b 100644 --- a/src/main/java/com/amirhn/Game/Location.java +++ b/src/main/java/com/amirhn/Game/Location.java @@ -2,17 +2,12 @@ import java.util.Objects; -/** - * The type Location. - */ +/** The type Location. */ public class Location { - /** - * The Row. - */ -public final int row, /** - * The Column. - */ -column; + /** The Row. */ + public final int row, + /** The Column. */ + column; /** * Instantiates a new Location. @@ -20,7 +15,7 @@ public class Location { * @param row the row * @param column the column */ -public Location(int row, int column) { + public Location(int row, int column) { this.row = row; this.column = column; } @@ -31,7 +26,7 @@ public Location(int row, int column) { * @param loc the loc * @return the location */ -public static Location valueOf(String loc) { + public static Location valueOf(String loc) { return new Location(loc.charAt(1) - '1', loc.charAt(0) - 'a'); } @@ -42,7 +37,7 @@ public static Location valueOf(String loc) { * @param column the column * @return the location */ -public static Location valueOf(int row, int column) { + public static Location valueOf(int row, int column) { return new Location(row, column); } @@ -53,7 +48,7 @@ public static Location valueOf(int row, int column) { * @param dy the dy * @return the location */ -public Location byOffset(int dx, int dy) { + public Location byOffset(int dx, int dy) { return Location.valueOf(this.row + dx, this.column + dy); } @@ -62,7 +57,7 @@ public Location byOffset(int dx, int dy) { * * @return the boolean */ -public boolean isLight() { + public boolean isLight() { return ((this.row + this.column) % 2) == 1; } @@ -71,7 +66,7 @@ public boolean isLight() { * * @return the string */ -@Override + @Override public String toString() { return ((char) (this.column + 'a')) + String.valueOf(this.row + 1); } @@ -82,7 +77,7 @@ public String toString() { * @param o the o * @return the boolean */ -@Override + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; @@ -95,7 +90,7 @@ public boolean equals(Object o) { * * @return the int */ -@Override + @Override public int hashCode() { return Objects.hash(row, column); } diff --git a/src/main/java/com/amirhn/Game/Scene.java b/src/main/java/com/amirhn/Game/Scene.java index 4348daf..0a3bc86 100644 --- a/src/main/java/com/amirhn/Game/Scene.java +++ b/src/main/java/com/amirhn/Game/Scene.java @@ -1,8 +1,6 @@ package com.amirhn.Game; -/** - * The type Scene. - */ +/** The type Scene. */ public class Scene { private final Board board; private final Color turn; @@ -13,7 +11,7 @@ public class Scene { * @param board the board * @param turn the turn */ -public Scene(Board board, Color turn) { + public Scene(Board board, Color turn) { this.board = board; this.turn = turn; } @@ -23,7 +21,7 @@ public Scene(Board board, Color turn) { * * @return the board */ -public Board getBoard() { + public Board getBoard() { return board; } @@ -32,7 +30,7 @@ public Board getBoard() { * * @return the turn */ -public Color getTurn() { + public Color getTurn() { return turn; } @@ -42,7 +40,7 @@ public Color getTurn() { * @param o the o * @return the boolean */ -@Override + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; diff --git a/src/main/java/com/amirhn/Game/Status.java b/src/main/java/com/amirhn/Game/Status.java index 70b6f78..f8f43a4 100644 --- a/src/main/java/com/amirhn/Game/Status.java +++ b/src/main/java/com/amirhn/Game/Status.java @@ -1,23 +1,13 @@ package com.amirhn.Game; -/** - * The enum Status. - */ +/** The enum Status. */ public enum Status { - /** - *Ongoing status. - */ -ONGOING, - /** - *Checkmate status. - */ -CHECKMATE, - /** - *Stalemate status. - */ -STALEMATE, - /** - *Draw status. - */ -DRAW + /** Ongoing status. */ + ONGOING, + /** Checkmate status. */ + CHECKMATE, + /** Stalemate status. */ + STALEMATE, + /** Draw status. */ + DRAW } diff --git a/src/main/java/Main.java b/src/main/java/com/amirhn/Main.java similarity index 79% rename from src/main/java/Main.java rename to src/main/java/com/amirhn/Main.java index c103d52..6b1f11e 100644 --- a/src/main/java/Main.java +++ b/src/main/java/com/amirhn/Main.java @@ -1,15 +1,15 @@ +package com.amirhn; + import com.amirhn.GUI.ChessFrame; -/** - * The type Main. - */ +/** The type com.amirhn.Main. */ public class Main { /** * The entry point of application. * * @param args the input arguments */ -public static void main(String[] args) { + public static void main(String[] args) { // GUI ChessFrame chessFrame = new ChessFrame(); diff --git a/src/main/java/com/amirhn/Moves/Capture.java b/src/main/java/com/amirhn/Moves/Capture.java index 7a1dd0b..4727cf9 100644 --- a/src/main/java/com/amirhn/Moves/Capture.java +++ b/src/main/java/com/amirhn/Moves/Capture.java @@ -4,19 +4,14 @@ import com.amirhn.Game.Location; import com.amirhn.Pieces.Piece; -/** - * The type Capture. - */ +/** The type Capture. */ public class Capture extends Move { - /** - * The Source. - */ -public Location source; - /** - * The Destination. - */ -public Location destination; + /** The Source. */ + public Location source; + + /** The Destination. */ + public Location destination; /** The Capture piece. */ public Piece capturePiece; @@ -27,7 +22,7 @@ public class Capture extends Move { * @param piece the piece * @param capturePiece the capture piece */ -public Capture(Piece piece, Piece capturePiece) { + public Capture(Piece piece, Piece capturePiece) { super(MoveType.CAPTURE, piece); this.capturePiece = capturePiece; this.source = piece.getLocation(); @@ -40,7 +35,7 @@ public Capture(Piece piece, Piece capturePiece) { * @param board the board * @return the boolean */ -@Override + @Override public boolean applyOnBoard(Board board) { if (!isValidApplyOnBoard(board)) return false; board.removePiece(capturePiece); @@ -56,7 +51,7 @@ public boolean applyOnBoard(Board board) { * * @param board the board */ -@Override + @Override public void undoOnBoard(Board board) { board.removePiece(capturePiece); board.removePiece(piece); @@ -72,7 +67,7 @@ public void undoOnBoard(Board board) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return super.isValidApplyOnBoard(board) && board.isValidPiece(capturePiece) @@ -84,7 +79,7 @@ public boolean isValidApplyOnBoard(Board board) { * * @return the string */ -@Override + @Override public String toString() { return "" + piece.type.letter + source + "x" + destination; } @@ -94,7 +89,7 @@ public String toString() { * * @return the endpoint location */ -@Override + @Override public Location getEndpointLocation() { return destination; } @@ -104,7 +99,7 @@ public Location getEndpointLocation() { * * @return the startpoint location */ -@Override + @Override public Location getStartpointLocation() { return source; } diff --git a/src/main/java/com/amirhn/Moves/Castling.java b/src/main/java/com/amirhn/Moves/Castling.java index 3bf3996..bcf4d5e 100644 --- a/src/main/java/com/amirhn/Moves/Castling.java +++ b/src/main/java/com/amirhn/Moves/Castling.java @@ -6,25 +6,18 @@ import com.amirhn.Pieces.King; import com.amirhn.Pieces.Rook; -/** - * The type Castling. - */ +/** The type Castling. */ public abstract class Castling extends Move { - /** - * The King move. - */ -public Walk kingMove, /** - * The Rook move. - */ -rookMove; - /** - * The King. - */ -public King king; - /** - * The Rook. - */ -public Rook rook; + /** The King move. */ + public Walk kingMove, + /** The Rook move. */ + rookMove; + + /** The King. */ + public King king; + + /** The Rook. */ + public Rook rook; /** * Instantiates a new Castling. @@ -32,7 +25,7 @@ public abstract class Castling extends Move { * @param kingMove the king move * @param rookMove the rook move */ -public Castling(Walk kingMove, Walk rookMove) { + public Castling(Walk kingMove, Walk rookMove) { super(MoveType.CASTLING, kingMove.piece); this.kingMove = kingMove; this.rookMove = rookMove; @@ -47,7 +40,7 @@ public Castling(Walk kingMove, Walk rookMove) { * @param rook the rook * @return the castling */ -public static Castling generate(King king, Rook rook) { + public static Castling generate(King king, Rook rook) { if (king.getLocation().row != rook.getLocation().row) return null; if (king.getLocation().column < rook.getLocation().column) return new ShortCastling(king, rook); if (king.getLocation().column > rook.getLocation().column) return new LongCastling(king, rook); @@ -60,7 +53,7 @@ public static Castling generate(King king, Rook rook) { * @param chess the chess * @return the boolean */ -@Override + @Override public boolean isAllowed(Chess chess) { if (!super.isAllowed(chess)) return false; if (king.hasMoved() || rook.hasMoved()) return false; @@ -86,7 +79,7 @@ public boolean isAllowed(Chess chess) { * @param board the board * @return the boolean */ -@Override + @Override public boolean applyOnBoard(Board board) { if (!isValidApplyOnBoard(board)) return false; kingMove.applyOnBoard(board); @@ -99,7 +92,7 @@ public boolean applyOnBoard(Board board) { * * @param board the board */ -@Override + @Override public void undoOnBoard(Board board) { rookMove.undoOnBoard(board); kingMove.undoOnBoard(board); @@ -111,7 +104,7 @@ public void undoOnBoard(Board board) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return super.isValidApplyOnBoard(board) && king.color.equals(rook.color) @@ -125,7 +118,7 @@ public boolean isValidApplyOnBoard(Board board) { * * @return the endpoint location */ -@Override + @Override public Location getEndpointLocation() { return rookMove.getStartpointLocation(); } @@ -135,7 +128,7 @@ public Location getEndpointLocation() { * * @return the startpoint location */ -@Override + @Override public Location getStartpointLocation() { return kingMove.getStartpointLocation(); } diff --git a/src/main/java/com/amirhn/Moves/EnPassant.java b/src/main/java/com/amirhn/Moves/EnPassant.java index 9ebf1d3..2eac04b 100644 --- a/src/main/java/com/amirhn/Moves/EnPassant.java +++ b/src/main/java/com/amirhn/Moves/EnPassant.java @@ -5,23 +5,17 @@ import com.amirhn.Game.Location; import com.amirhn.Pieces.Pawn; -/** - * The type En passant. - */ +/** The type En passant. */ public class EnPassant extends Capture { - /** - * The Second source. - */ -public Location secondSource; - /** - * The Second destination. - */ -public Location secondDestination; - /** - * The Push pawn move. - */ -public Walk pushPawnMove; + /** The Second source. */ + public Location secondSource; + + /** The Second destination. */ + public Location secondDestination; + + /** The Push pawn move. */ + public Walk pushPawnMove; /** * Instantiates a new En passant. @@ -29,7 +23,7 @@ public class EnPassant extends Capture { * @param pawn the pawn * @param capturePawn the capture pawn */ -public EnPassant(Pawn pawn, Pawn capturePawn) { + public EnPassant(Pawn pawn, Pawn capturePawn) { super(pawn, capturePawn); this.secondSource = capturePawn.getLocation(); this.secondDestination = capturePawn.getLocation().byOffset(-1 * capturePawn.direction, 0); @@ -41,7 +35,7 @@ public EnPassant(Pawn pawn, Pawn capturePawn) { * @param board the board * @return the boolean */ -@Override + @Override public boolean applyOnBoard(Board board) { if (!isValidApplyOnBoard(board)) return false; super.applyOnBoard(board); @@ -54,7 +48,7 @@ public boolean applyOnBoard(Board board) { * * @param board the board */ -@Override + @Override public void undoOnBoard(Board board) { pushPawnMove.undoOnBoard(board); super.undoOnBoard(board); @@ -66,7 +60,7 @@ public void undoOnBoard(Board board) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return super.isValidApplyOnBoard(board) && source.row == destination.row @@ -81,7 +75,7 @@ public boolean isValidApplyOnBoard(Board board) { * @param chess the chess * @return the boolean */ -@Override + @Override public boolean isAllowed(Chess chess) { if (chess.moves.isEmpty()) return false; Move lastMove = chess.moves.getLast(); @@ -95,7 +89,7 @@ public boolean isAllowed(Chess chess) { * * @return the string */ -@Override + @Override public String toString() { return "" + piece.type.letter + source + "x" + secondDestination + " " + "e.p."; } @@ -105,7 +99,7 @@ public String toString() { * * @return the endpoint location */ -@Override + @Override public Location getEndpointLocation() { return secondDestination; } diff --git a/src/main/java/com/amirhn/Moves/LongCastling.java b/src/main/java/com/amirhn/Moves/LongCastling.java index 1f5059a..f85e7d2 100644 --- a/src/main/java/com/amirhn/Moves/LongCastling.java +++ b/src/main/java/com/amirhn/Moves/LongCastling.java @@ -4,9 +4,7 @@ import com.amirhn.Pieces.King; import com.amirhn.Pieces.Rook; -/** - * The type Long castling. - */ +/** The type Long castling. */ public class LongCastling extends Castling { /** @@ -15,7 +13,7 @@ public class LongCastling extends Castling { * @param king the king * @param rook the rook */ -public LongCastling(King king, Rook rook) { + public LongCastling(King king, Rook rook) { super( new Walk(king, Location.valueOf(king.getLocation().row, 2)), new Walk(rook, Location.valueOf(rook.getLocation().row, 3))); @@ -26,7 +24,7 @@ public LongCastling(King king, Rook rook) { * * @return the string */ -@Override + @Override public String toString() { return "O-O-O"; } diff --git a/src/main/java/com/amirhn/Moves/Move.java b/src/main/java/com/amirhn/Moves/Move.java index b95053d..4e27773 100644 --- a/src/main/java/com/amirhn/Moves/Move.java +++ b/src/main/java/com/amirhn/Moves/Move.java @@ -5,18 +5,13 @@ import com.amirhn.Game.Location; import com.amirhn.Pieces.Piece; -/** - * The type Move. - */ +/** The type Move. */ public abstract class Move { - /** - * The Type. - */ -public final MoveType type; - /** - * The Piece. - */ -public Piece piece; + /** The Type. */ + public final MoveType type; + + /** The Piece. */ + public Piece piece; /** * Instantiates a new Move. @@ -24,7 +19,7 @@ public abstract class Move { * @param type the type * @param piece the piece */ -public Move(MoveType type, Piece piece) { + public Move(MoveType type, Piece piece) { this.type = type; this.piece = piece; } @@ -35,7 +30,7 @@ public Move(MoveType type, Piece piece) { * @param chess the chess * @return the boolean */ -public boolean isAllowed(Chess chess) { + public boolean isAllowed(Chess chess) { Board board = chess.getBoard(); if (!piece.isAllowedToMove(chess)) return false; if (!applyOnBoard(board)) return false; @@ -50,14 +45,14 @@ public boolean isAllowed(Chess chess) { * @param board the board * @return the boolean */ -public abstract boolean applyOnBoard(Board board); + public abstract boolean applyOnBoard(Board board); /** * Undo on board. * * @param board the board */ -protected abstract void undoOnBoard(Board board); + protected abstract void undoOnBoard(Board board); /** * Is valid apply on board boolean. @@ -65,7 +60,7 @@ public boolean isAllowed(Chess chess) { * @param board the board * @return the boolean */ -public boolean isValidApplyOnBoard(Board board) { + public boolean isValidApplyOnBoard(Board board) { return board.isValidPiece(piece); } @@ -74,12 +69,12 @@ public boolean isValidApplyOnBoard(Board board) { * * @return the startpoint location */ -public abstract Location getStartpointLocation(); + public abstract Location getStartpointLocation(); /** * Gets endpoint location. * * @return the endpoint location */ -public abstract Location getEndpointLocation(); + public abstract Location getEndpointLocation(); } diff --git a/src/main/java/com/amirhn/Moves/MoveType.java b/src/main/java/com/amirhn/Moves/MoveType.java index bb4bb71..2cb4763 100644 --- a/src/main/java/com/amirhn/Moves/MoveType.java +++ b/src/main/java/com/amirhn/Moves/MoveType.java @@ -1,23 +1,13 @@ package com.amirhn.Moves; -/** - * The enum Move type. - */ +/** The enum Move type. */ public enum MoveType { - /** - *Walk move type. - */ -WALK, - /** - *Capture move type. - */ -CAPTURE, - /** - *Castling move type. - */ -CASTLING, - /** - *Promotion move type. - */ -PROMOTION + /** Walk move type. */ + WALK, + /** Capture move type. */ + CAPTURE, + /** Castling move type. */ + CASTLING, + /** Promotion move type. */ + PROMOTION } diff --git a/src/main/java/com/amirhn/Moves/PawnPromotion.java b/src/main/java/com/amirhn/Moves/PawnPromotion.java index 73a37be..d401449 100644 --- a/src/main/java/com/amirhn/Moves/PawnPromotion.java +++ b/src/main/java/com/amirhn/Moves/PawnPromotion.java @@ -5,9 +5,7 @@ import com.amirhn.Game.Color; import com.amirhn.Pieces.PieceType; -/** - * The type Pawn promotion. - */ +/** The type Pawn promotion. */ public class PawnPromotion extends Promotion { /** @@ -16,7 +14,7 @@ public class PawnPromotion extends Promotion { * @param move the move * @param promotedPieceType the promoted piece type */ -public PawnPromotion(Move move, PieceType promotedPieceType) { + public PawnPromotion(Move move, PieceType promotedPieceType) { super(move, promotedPieceType); } @@ -26,7 +24,7 @@ public PawnPromotion(Move move, PieceType promotedPieceType) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return piece.type == PieceType.PAWN && super.isValidApplyOnBoard(board); } @@ -37,7 +35,7 @@ public boolean isValidApplyOnBoard(Board board) { * @param chess the chess * @return the boolean */ -@Override + @Override public boolean isAllowed(Chess chess) { boolean isLastRank = false; if (piece.color == Color.WHITE) diff --git a/src/main/java/com/amirhn/Moves/Promotion.java b/src/main/java/com/amirhn/Moves/Promotion.java index 9985cb1..063e385 100644 --- a/src/main/java/com/amirhn/Moves/Promotion.java +++ b/src/main/java/com/amirhn/Moves/Promotion.java @@ -5,18 +5,13 @@ import com.amirhn.Pieces.Piece; import com.amirhn.Pieces.PieceType; -/** - * The type Promotion. - */ +/** The type Promotion. */ public abstract class Promotion extends Move { - /** - * The Move. - */ -public Move move; - /** - * The Promoted piece. - */ -public Piece promotedPiece; + /** The Move. */ + public Move move; + + /** The Promoted piece. */ + public Piece promotedPiece; /** * Instantiates a new Promotion. @@ -24,7 +19,7 @@ public abstract class Promotion extends Move { * @param move the move * @param promotedPieceType the promoted piece type */ -public Promotion(Move move, PieceType promotedPieceType) { + public Promotion(Move move, PieceType promotedPieceType) { super(MoveType.PROMOTION, move.piece); this.move = move; this.promotedPiece = Piece.generate(promotedPieceType, move.piece.color, null); @@ -36,7 +31,7 @@ public Promotion(Move move, PieceType promotedPieceType) { * @param board the board * @return the boolean */ -@Override + @Override public boolean applyOnBoard(Board board) { if (!isValidApplyOnBoard(board)) return false; move.applyOnBoard(board); @@ -50,7 +45,7 @@ public boolean applyOnBoard(Board board) { * * @param board the board */ -@Override + @Override public void undoOnBoard(Board board) { board.removePiece(promotedPiece); promotedPiece.removeLocation(); @@ -63,7 +58,7 @@ public void undoOnBoard(Board board) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return super.isValidApplyOnBoard(board) && move.isValidApplyOnBoard(board); } @@ -73,7 +68,7 @@ public boolean isValidApplyOnBoard(Board board) { * * @return the endpoint location */ -@Override + @Override public Location getEndpointLocation() { return move.getEndpointLocation(); } @@ -83,7 +78,7 @@ public Location getEndpointLocation() { * * @return the startpoint location */ -@Override + @Override public Location getStartpointLocation() { return move.getStartpointLocation(); } @@ -93,7 +88,7 @@ public Location getStartpointLocation() { * * @return the string */ -@Override + @Override public String toString() { return move.toString() + "=" + promotedPiece.type.letter; } diff --git a/src/main/java/com/amirhn/Moves/ShortCastling.java b/src/main/java/com/amirhn/Moves/ShortCastling.java index 561970c..92b05a0 100644 --- a/src/main/java/com/amirhn/Moves/ShortCastling.java +++ b/src/main/java/com/amirhn/Moves/ShortCastling.java @@ -4,9 +4,7 @@ import com.amirhn.Pieces.King; import com.amirhn.Pieces.Rook; -/** - * The type Short castling. - */ +/** The type Short castling. */ public class ShortCastling extends Castling { /** @@ -15,7 +13,7 @@ public class ShortCastling extends Castling { * @param king the king * @param rook the rook */ -public ShortCastling(King king, Rook rook) { + public ShortCastling(King king, Rook rook) { super( new Walk(king, Location.valueOf(king.getLocation().row, 6)), new Walk(rook, Location.valueOf(rook.getLocation().row, 5))); @@ -26,7 +24,7 @@ public ShortCastling(King king, Rook rook) { * * @return the string */ -@Override + @Override public String toString() { return "O-O"; } diff --git a/src/main/java/com/amirhn/Moves/Walk.java b/src/main/java/com/amirhn/Moves/Walk.java index 4540435..9b99fde 100644 --- a/src/main/java/com/amirhn/Moves/Walk.java +++ b/src/main/java/com/amirhn/Moves/Walk.java @@ -4,18 +4,13 @@ import com.amirhn.Game.Location; import com.amirhn.Pieces.Piece; -/** - * The type Walk. - */ +/** The type Walk. */ public class Walk extends Move { - /** - * The Source. - */ -public Location source; - /** - * The Destination. - */ -public Location destination; + /** The Source. */ + public Location source; + + /** The Destination. */ + public Location destination; /** * Instantiates a new Walk. @@ -23,7 +18,7 @@ public class Walk extends Move { * @param sourcePiece the source piece * @param destination the destination */ -public Walk(Piece sourcePiece, Location destination) { + public Walk(Piece sourcePiece, Location destination) { super(MoveType.WALK, sourcePiece); this.source = sourcePiece.getLocation(); this.destination = destination; @@ -35,7 +30,7 @@ public Walk(Piece sourcePiece, Location destination) { * @param board the board * @return the boolean */ -@Override + @Override public boolean applyOnBoard(Board board) { if (!this.isValidApplyOnBoard(board)) return false; board.removePiece(this.piece); @@ -49,7 +44,7 @@ public boolean applyOnBoard(Board board) { * * @param board the board */ -@Override + @Override public void undoOnBoard(Board board) { board.removePiece(this.piece); this.piece.setLocationBack(this.source); @@ -62,7 +57,7 @@ public void undoOnBoard(Board board) { * @param board the board * @return the boolean */ -@Override + @Override public boolean isValidApplyOnBoard(Board board) { return super.isValidApplyOnBoard(board) && board.isValidLocation(this.destination) @@ -74,7 +69,7 @@ public boolean isValidApplyOnBoard(Board board) { * * @return the startpoint location */ -@Override + @Override public Location getStartpointLocation() { return source; } @@ -84,7 +79,7 @@ public Location getStartpointLocation() { * * @return the endpoint location */ -@Override + @Override public Location getEndpointLocation() { return destination; } @@ -94,7 +89,7 @@ public Location getEndpointLocation() { * * @return the string */ -@Override + @Override public String toString() { return "" + this.piece.type.letter + this.source + "-" + this.destination; } diff --git a/src/main/java/com/amirhn/Pieces/Bishop.java b/src/main/java/com/amirhn/Pieces/Bishop.java index 44a7a1e..3307e65 100644 --- a/src/main/java/com/amirhn/Pieces/Bishop.java +++ b/src/main/java/com/amirhn/Pieces/Bishop.java @@ -6,9 +6,7 @@ import java.util.ArrayList; import java.util.List; -/** - * The type Bishop. - */ +/** The type Bishop. */ public class Bishop extends Piece { /** @@ -17,7 +15,7 @@ public class Bishop extends Piece { * @param color the color * @param location the location */ -public Bishop(Color color, Location location) { + public Bishop(Color color, Location location) { super(PieceType.BISHOP, color, location); } @@ -27,7 +25,7 @@ public Bishop(Color color, Location location) { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); int[] dx = {+1, +1, -1, -1}; diff --git a/src/main/java/com/amirhn/Pieces/King.java b/src/main/java/com/amirhn/Pieces/King.java index 172d6fa..314297a 100644 --- a/src/main/java/com/amirhn/Pieces/King.java +++ b/src/main/java/com/amirhn/Pieces/King.java @@ -8,9 +8,7 @@ import java.util.ArrayList; import java.util.List; -/** - * The type King. - */ +/** The type King. */ public class King extends Piece { /** @@ -19,7 +17,7 @@ public class King extends Piece { * @param color the color * @param location the location */ -public King(Color color, Location location) { + public King(Color color, Location location) { super(PieceType.KING, color, location); } @@ -29,7 +27,7 @@ public King(Color color, Location location) { * @param piece the piece * @return the boolean */ -@Override + @Override public boolean canBeCapturedBy(Piece piece) { return false; } @@ -40,7 +38,7 @@ public boolean canBeCapturedBy(Piece piece) { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); int[] dx = {+1, +1, +1, -1, -1, -1, 0, 0}; @@ -59,7 +57,7 @@ public List getThreatenedLocations(Board board) { * @param board the board * @return the natural moves */ -@Override + @Override public List getNaturalMoves(Board board) { List moves = super.getNaturalMoves(board); int[] dy = {+1, -1}; diff --git a/src/main/java/com/amirhn/Pieces/Knight.java b/src/main/java/com/amirhn/Pieces/Knight.java index 8037ba9..f6fd4ef 100644 --- a/src/main/java/com/amirhn/Pieces/Knight.java +++ b/src/main/java/com/amirhn/Pieces/Knight.java @@ -6,9 +6,7 @@ import java.util.ArrayList; import java.util.List; -/** - * The type Knight. - */ +/** The type Knight. */ public class Knight extends Piece { /** @@ -17,7 +15,7 @@ public class Knight extends Piece { * @param color the color * @param location the location */ -public Knight(Color color, Location location) { + public Knight(Color color, Location location) { super(PieceType.KNIGHT, color, location); } @@ -27,7 +25,7 @@ public Knight(Color color, Location location) { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); int[] dx = {+1, +1, -1, -1, +2, +2, -2, -2}; diff --git a/src/main/java/com/amirhn/Pieces/Pawn.java b/src/main/java/com/amirhn/Pieces/Pawn.java index bb1c812..7c579e7 100644 --- a/src/main/java/com/amirhn/Pieces/Pawn.java +++ b/src/main/java/com/amirhn/Pieces/Pawn.java @@ -8,15 +8,11 @@ import java.util.Collections; import java.util.List; -/** - * The type Pawn. - */ +/** The type Pawn. */ public class Pawn extends Piece { - /** - * The Direction. - */ -public final int direction; + /** The Direction. */ + public final int direction; /** * Instantiates a new Pawn. @@ -24,7 +20,7 @@ public class Pawn extends Piece { * @param color the color * @param location the location */ -public Pawn(Color color, Location location) { + public Pawn(Color color, Location location) { super(PieceType.PAWN, color, location); direction = color.direction; } @@ -57,7 +53,7 @@ private List makeMoves(Board board, Location location) { * @param board the board * @return the natural moves */ -@Override + @Override public List getNaturalMoves(Board board) { List moves = new ArrayList<>(); for (Location location : this.getThreatenedLocations(board)) { @@ -86,7 +82,7 @@ public List getNaturalMoves(Board board) { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); int[] dx = {direction, direction}; diff --git a/src/main/java/com/amirhn/Pieces/Piece.java b/src/main/java/com/amirhn/Pieces/Piece.java index 7c0fbbd..376564f 100644 --- a/src/main/java/com/amirhn/Pieces/Piece.java +++ b/src/main/java/com/amirhn/Pieces/Piece.java @@ -12,27 +12,20 @@ import java.util.Objects; import java.util.stream.Collectors; -/** - * The type Piece. - */ +/** The type Piece. */ public abstract class Piece { - /** - * The Type. - */ -public final PieceType type; - /** - * The Color. - */ -public final Color color; - /** - * The Location. - */ -protected Location location; - /** - * The Moves. - */ -protected int moves = 0; + /** The Type. */ + public final PieceType type; + + /** The Color. */ + public final Color color; + + /** The Location. */ + protected Location location; + + /** The Moves. */ + protected int moves = 0; /** * Instantiates a new Piece. @@ -41,7 +34,7 @@ public abstract class Piece { * @param color the color * @param location the location */ -public Piece(PieceType type, Color color, Location location) { + public Piece(PieceType type, Color color, Location location) { this.type = type; this.color = color; this.location = location; @@ -55,7 +48,7 @@ public Piece(PieceType type, Color color, Location location) { * @param location the location * @return the piece */ -public static Piece generate(PieceType pieceType, Color color, Location location) { + public static Piece generate(PieceType pieceType, Color color, Location location) { return switch (pieceType) { case KING -> new King(color, location); case PAWN -> new Pawn(color, location); @@ -73,7 +66,7 @@ public static Piece generate(PieceType pieceType, Color color, Location location * @param location the location * @return the piece */ -public static Piece generate(char fen, Location location) { + public static Piece generate(char fen, Location location) { return generate( Objects.requireNonNull(PieceType.valueOf(fen)), Color.valueOfPieceChar(fen), location); } @@ -83,7 +76,7 @@ public static Piece generate(char fen, Location location) { * * @return the location */ -public Location getLocation() { + public Location getLocation() { return location; } @@ -92,7 +85,7 @@ public Location getLocation() { * * @param location the location */ -public void setLocation(Location location) { + public void setLocation(Location location) { if (this.location != null) moves++; this.location = location; } @@ -102,15 +95,13 @@ public void setLocation(Location location) { * * @param location the location */ -public void setLocationBack(Location location) { + public void setLocationBack(Location location) { if (this.location != null) moves--; this.location = location; } - /** - * Remove location. - */ -public void removeLocation() { + /** Remove location. */ + public void removeLocation() { this.location = null; } @@ -119,7 +110,7 @@ public void removeLocation() { * * @return the boolean */ -public boolean hasMoved() { + public boolean hasMoved() { return moves > 0; } @@ -129,7 +120,7 @@ public boolean hasMoved() { * @param o the o * @return the boolean */ -@Override + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; @@ -142,7 +133,7 @@ public boolean equals(Object o) { * * @return the int */ -@Override + @Override public int hashCode() { return Objects.hash(type, color, location); } @@ -152,7 +143,7 @@ public int hashCode() { * * @return the string */ -@Override + @Override public String toString() { return this.type + "{" + "color=" + color + ", location=" + location + '}'; } @@ -163,7 +154,7 @@ public String toString() { * @param chess the chess * @return the boolean */ -public boolean isAllowedToMove(Chess chess) { + public boolean isAllowedToMove(Chess chess) { return chess.turn.equals(this.color); } @@ -173,7 +164,7 @@ public boolean isAllowedToMove(Chess chess) { * @param chess the chess * @return the allowed moves */ -public List getAllowedMoves(Chess chess) { + public List getAllowedMoves(Chess chess) { return this.getNaturalMoves(chess.getBoard()).stream() .filter(move -> move.isAllowed(chess)) .collect(Collectors.toList()); @@ -185,7 +176,7 @@ public List getAllowedMoves(Chess chess) { * @param piece the piece * @return the boolean */ -public boolean canBeCapturedBy(Piece piece) { + public boolean canBeCapturedBy(Piece piece) { if (piece == null) return false; if (type == PieceType.KING) return false; return this.color != piece.color; @@ -196,7 +187,7 @@ public boolean canBeCapturedBy(Piece piece) { * * @return the symbol */ -public char getSymbol() { + public char getSymbol() { return this.type.getSymbol(this.color); } @@ -206,7 +197,7 @@ public char getSymbol() { * @param board the board * @return the threatened locations */ -public abstract List getThreatenedLocations(Board board); + public abstract List getThreatenedLocations(Board board); /** * Gets natural moves. @@ -214,7 +205,7 @@ public char getSymbol() { * @param board the board * @return the natural moves */ -public List getNaturalMoves(Board board) { + public List getNaturalMoves(Board board) { List moves = new ArrayList<>(); for (Location location : this.getThreatenedLocations(board)) { if (board.isOccupied(location)) { @@ -230,7 +221,7 @@ public List getNaturalMoves(Board board) { * * @return the piece */ -public Piece copy() { + public Piece copy() { return generate(this.type, this.color, this.location); } } diff --git a/src/main/java/com/amirhn/Pieces/PieceType.java b/src/main/java/com/amirhn/Pieces/PieceType.java index 584a7ea..e97454c 100644 --- a/src/main/java/com/amirhn/Pieces/PieceType.java +++ b/src/main/java/com/amirhn/Pieces/PieceType.java @@ -2,43 +2,26 @@ import com.amirhn.Game.Color; -/** - * The enum Piece type. - */ +/** The enum Piece type. */ public enum PieceType { - /** - *King piece type. - */ -KING('K', "♔♚"), - /** - *Queen piece type. - */ -QUEEN('Q', "♕♛"), - /** - *Knight piece type. - */ -KNIGHT('N', "♘♞"), - /** - *Rook piece type. - */ -ROOK('R', "♖♜"), - /** - *Bishop piece type. - */ -BISHOP('B', "♗♝"), - /** - *Pawn piece type. - */ -PAWN('P', "♙♟"); + /** King piece type. */ + KING('K', "♔♚"), + /** Queen piece type. */ + QUEEN('Q', "♕♛"), + /** Knight piece type. */ + KNIGHT('N', "♘♞"), + /** Rook piece type. */ + ROOK('R', "♖♜"), + /** Bishop piece type. */ + BISHOP('B', "♗♝"), + /** Pawn piece type. */ + PAWN('P', "♙♟"); - /** - * The Letter. - */ -public final char letter; - /** - * The Symbols. - */ -public final String symbols; + /** The Letter. */ + public final char letter; + + /** The Symbols. */ + public final String symbols; PieceType(char letter, String symbols) { this.letter = letter; @@ -51,7 +34,7 @@ public enum PieceType { * @param letter the letter * @return the piece type */ -public static PieceType valueOf(char letter) { + public static PieceType valueOf(char letter) { for (PieceType pieceType : PieceType.values()) { if (pieceType.letter == Character.toUpperCase(letter)) return pieceType; } @@ -64,7 +47,7 @@ public static PieceType valueOf(char letter) { * @param color the color * @return the symbol */ -public char getSymbol(Color color) { + public char getSymbol(Color color) { if (color == Color.WHITE) return this.symbols.charAt(0); if (color == Color.BLACK) return this.symbols.charAt(1); return '?'; diff --git a/src/main/java/com/amirhn/Pieces/Queen.java b/src/main/java/com/amirhn/Pieces/Queen.java index 15c8898..f7bfb6a 100644 --- a/src/main/java/com/amirhn/Pieces/Queen.java +++ b/src/main/java/com/amirhn/Pieces/Queen.java @@ -6,9 +6,7 @@ import java.util.List; import java.util.stream.Stream; -/** - * The type Queen. - */ +/** The type Queen. */ public class Queen extends Piece { private final Rook rook; @@ -20,7 +18,7 @@ public class Queen extends Piece { * @param color the color * @param location the location */ -public Queen(Color color, Location location) { + public Queen(Color color, Location location) { super(PieceType.QUEEN, color, location); this.rook = new Rook(color, location); this.bishop = new Bishop(color, location); @@ -31,7 +29,7 @@ public Queen(Color color, Location location) { * * @param location the location */ -@Override + @Override public void setLocation(Location location) { super.setLocation(location); this.rook.setLocation(location); @@ -43,17 +41,15 @@ public void setLocation(Location location) { * * @param location the location */ -@Override + @Override public void setLocationBack(Location location) { super.setLocationBack(location); this.rook.setLocationBack(location); this.bishop.setLocationBack(location); } - /** - * Remove location. - */ -@Override + /** Remove location. */ + @Override public void removeLocation() { super.removeLocation(); } @@ -64,7 +60,7 @@ public void removeLocation() { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List rookThreatenedLocation = this.rook.getThreatenedLocations(board); List bishopThreatenedLocation = this.bishop.getThreatenedLocations(board); diff --git a/src/main/java/com/amirhn/Pieces/Rook.java b/src/main/java/com/amirhn/Pieces/Rook.java index d0fcf66..c599466 100644 --- a/src/main/java/com/amirhn/Pieces/Rook.java +++ b/src/main/java/com/amirhn/Pieces/Rook.java @@ -6,9 +6,7 @@ import java.util.ArrayList; import java.util.List; -/** - * The type Rook. - */ +/** The type Rook. */ public class Rook extends Piece { /** @@ -17,7 +15,7 @@ public class Rook extends Piece { * @param color the color * @param location the location */ -public Rook(Color color, Location location) { + public Rook(Color color, Location location) { super(PieceType.ROOK, color, location); } @@ -27,7 +25,7 @@ public Rook(Color color, Location location) { * @param board the board * @return the threatened locations */ -@Override + @Override public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); int[] dx = {+1, -1, 0, 0}; diff --git a/src/main/java/com/amirhn/Players/Player.java b/src/main/java/com/amirhn/Players/Player.java index 51f1d60..ad3fbe4 100644 --- a/src/main/java/com/amirhn/Players/Player.java +++ b/src/main/java/com/amirhn/Players/Player.java @@ -13,31 +13,25 @@ import java.util.List; import java.util.stream.Collectors; -/** - * The type Player. - */ +/** The type Player. */ public class Player { private final Color color; - /** - * The Captured pieces. - */ -public List capturedPieces = new ArrayList<>(); - /** - * The Had long castling. - */ -public boolean hadLongCastling = false; - /** - * The Had short castling. - */ -public boolean hadShortCastling = false; + /** The Captured pieces. */ + public List capturedPieces = new ArrayList<>(); + + /** The Had long castling. */ + public boolean hadLongCastling = false; + + /** The Had short castling. */ + public boolean hadShortCastling = false; /** * Instantiates a new Player. * * @param color the color */ -public Player(Color color) { + public Player(Color color) { this.color = color; } @@ -46,7 +40,7 @@ public Player(Color color) { * * @return the color */ -public Color getColor() { + public Color getColor() { return color; } @@ -56,7 +50,7 @@ public Color getColor() { * @param board the board * @return the active pieces */ -public List getActivePieces(Board board) { + public List getActivePieces(Board board) { return board.getAllPieces().stream() .filter(piece -> piece.color.equals(color)) .collect(Collectors.toList()); @@ -68,7 +62,7 @@ public List getActivePieces(Board board) { * @param board the board * @return the natural moves */ -public List getNaturalMoves(Board board) { + public List getNaturalMoves(Board board) { List moves = new ArrayList<>(); for (Piece piece : this.getActivePieces(board)) moves.addAll(piece.getNaturalMoves(board)); return moves; @@ -80,7 +74,7 @@ public List getNaturalMoves(Board board) { * @param chess the chess * @return the allowed moves */ -public List getAllowedMoves(Chess chess) { + public List getAllowedMoves(Chess chess) { return getNaturalMoves(chess.getBoard()).stream() .filter(move -> move.isAllowed(chess)) .collect(Collectors.toList()); @@ -92,7 +86,7 @@ public List getAllowedMoves(Chess chess) { * @param board the board * @return the threatened locations */ -public List getThreatenedLocations(Board board) { + public List getThreatenedLocations(Board board) { List threatenedLocations = new ArrayList<>(); for (Piece piece : getActivePieces(board)) threatenedLocations.addAll(piece.getThreatenedLocations(board)); @@ -106,7 +100,7 @@ public List getThreatenedLocations(Board board) { * @param pieceType the piece type * @return the pieces */ -public List getPieces(Board board, PieceType pieceType) { + public List getPieces(Board board, PieceType pieceType) { List pieces = new ArrayList<>(); for (Piece piece : getActivePieces(board)) if (piece.type == pieceType) pieces.add(piece); return pieces; @@ -118,7 +112,7 @@ public List getPieces(Board board, PieceType pieceType) { * @param board the board * @return the king */ -public King getKing(Board board) { + public King getKing(Board board) { return (King) getPieces(board, PieceType.KING).getFirst(); } @@ -128,7 +122,7 @@ public King getKing(Board board) { * @param board the board * @return the rooks */ -public List getRooks(Board board) { + public List getRooks(Board board) { return getPieces(board, PieceType.ROOK).stream().map(piece -> (Rook) piece).toList(); } @@ -138,7 +132,7 @@ public List getRooks(Board board) { * @param board the board * @return the king side rook */ -public Rook getKingSideRook(Board board) { + public Rook getKingSideRook(Board board) { return getRooks(board).stream() .filter(rook -> rook.getLocation().column == 7) .findFirst() @@ -151,7 +145,7 @@ public Rook getKingSideRook(Board board) { * @param board the board * @return the queen side rook */ -public Rook getQueenSideRook(Board board) { + public Rook getQueenSideRook(Board board) { return getRooks(board).stream() .filter(rook -> rook.getLocation().column == 0) .findFirst() @@ -165,7 +159,7 @@ public Rook getQueenSideRook(Board board) { * @param location the location * @return the boolean */ -public boolean isThreatening(Board board, Location location) { + public boolean isThreatening(Board board, Location location) { for (Location threat : getThreatenedLocations(board)) if (threat.equals(location)) return true; return false; } diff --git a/src/test/java/com/amirhn/Game/BoardTest.java b/src/test/java/com/amirhn/Game/BoardTest.java index d9b1d11..3348b49 100644 --- a/src/test/java/com/amirhn/Game/BoardTest.java +++ b/src/test/java/com/amirhn/Game/BoardTest.java @@ -5,8 +5,10 @@ import com.amirhn.Pieces.Piece; import org.junit.jupiter.api.Test; +/** The type Board test. */ class BoardTest { + /** From fen creates correct board. */ @Test void fromFEN_createsCorrectBoard() { String fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR"; @@ -16,24 +18,28 @@ void fromFEN_createsCorrectBoard() { assertTrue(board.isOccupied(Location.valueOf(0, 0))); } + /** Is valid location returns false for invalid location. */ @Test void isValidLocation_returnsFalseForInvalidLocation() { Board board = new Board(8, 8); assertFalse(board.isValidLocation(Location.valueOf(9, 9))); } + /** Is occupied returns false for empty location. */ @Test void isOccupied_returnsFalseForEmptyLocation() { Board board = new Board(8, 8); assertFalse(board.isOccupied(Location.valueOf(0, 0))); } + /** Gets piece returns null for empty location. */ @Test void getPiece_returnsNullForEmptyLocation() { Board board = new Board(8, 8); assertNull(board.getPiece(Location.valueOf(0, 0))); } + /** Sets piece sets piece correctly. */ @Test void setPiece_setsPieceCorrectly() { Board board = new Board(8, 8); @@ -42,6 +48,7 @@ void setPiece_setsPieceCorrectly() { assertEquals(piece, board.getPiece(Location.valueOf(0, 0))); } + /** Remove piece removes piece correctly. */ @Test void removePiece_removesPieceCorrectly() { Board board = new Board(8, 8); @@ -51,6 +58,7 @@ void removePiece_removesPieceCorrectly() { assertNull(board.getPiece(Location.valueOf(0, 0))); } + /** Copy creates exact copy. */ @Test void copy_createsExactCopy() { Board board = new Board(8, 8); @@ -60,6 +68,7 @@ void copy_createsExactCopy() { assertEquals(board, copy); } + /** Equals returns true for identical boards. */ @Test void equals_returnsTrueForIdenticalBoards() { Board board1 = new Board(8, 8); @@ -67,6 +76,7 @@ void equals_returnsTrueForIdenticalBoards() { assertEquals(board1, board2); } + /** Equals returns false for different boards. */ @Test void equals_returnsFalseForDifferentBoards() { Board board1 = new Board(8, 8); diff --git a/src/test/java/com/amirhn/Moves/CaptureTest.java b/src/test/java/com/amirhn/Moves/CaptureTest.java index ccb82f9..a645fc8 100644 --- a/src/test/java/com/amirhn/Moves/CaptureTest.java +++ b/src/test/java/com/amirhn/Moves/CaptureTest.java @@ -11,8 +11,10 @@ import com.amirhn.Pieces.Queen; import org.junit.jupiter.api.Test; +/** The type Capture test. */ class CaptureTest { + /** Apply on board. */ @Test void applyOnBoard() { Board board = new Board(8, 8); @@ -26,6 +28,7 @@ void applyOnBoard() { assertFalse(board.isValidPiece(capturePiece)); } + /** Undo on board. */ @Test void undoOnBoard() { Board board = new Board(8, 8);