├── .gitignore ├── README.md ├── core └── src │ ├── main │ ├── resources │ │ └── 2322324186_ca41fba641_o.jpg │ └── scala │ │ └── com │ │ └── sebnozzi │ │ └── slidingpuzzle │ │ ├── model │ │ ├── Puzzle.scala │ │ ├── PuzzleTile.scala │ │ ├── structs │ │ │ ├── GridSize.scala │ │ │ ├── Position.scala │ │ │ └── Rect.scala │ │ └── tile │ │ │ └── traits │ │ │ ├── AdjacentTilesAware.scala │ │ │ ├── PositionAware.scala │ │ │ └── VisibilityAware.scala │ │ └── ui │ │ ├── AppController.scala │ │ ├── AppView.scala │ │ ├── PuzzleView.scala │ │ ├── TileView.scala │ │ └── keys │ │ └── ArrowKey.scala │ └── test │ ├── resources │ └── size-change.feature │ └── scala │ └── com │ └── sebnozzi │ └── slidingpuzzle │ ├── model │ ├── PuzzleSuite.scala │ ├── PuzzleTileSuite.scala │ ├── structs │ │ ├── PositionSuite.scala │ │ └── RectSuite.scala │ └── tile │ │ └── traits │ │ ├── AdjacentTilesAwareSuite.scala │ │ ├── PositionAwareSuite.scala │ │ └── VisibilityAwareSuite.scala │ └── ui │ ├── AppControllerSuite.scala │ ├── AppViewSuite.scala │ ├── PuzzleViewSuite.scala │ ├── TestTileView.scala │ └── TileViewSuite.scala ├── images ├── original_small.jpg ├── screenshot-browser.jpeg └── screenshot-javafx.jpg ├── javafx └── src │ ├── main │ ├── resources │ │ └── 2322324186_ca41fba641_o.jpg │ └── scala │ │ └── com │ │ └── sebnozzi │ │ └── slidingpuzzle │ │ ├── SlidingPuzzleMain.scala │ │ └── ui │ │ └── javafx │ │ ├── ControlPanel.scala │ │ ├── JFXAppController.scala │ │ ├── JFXAppView.scala │ │ ├── JFXPuzzleView.scala │ │ ├── JFXTileView.scala │ │ └── utils │ │ └── ImageSlicer.scala │ └── test │ ├── resources │ └── size-change.feature │ └── scala │ └── com │ └── sebnozzi │ └── slidingpuzzle │ └── ui │ └── javafx │ └── utils │ └── ImageSlicerSuite.scala ├── project ├── build.properties └── plugins.sbt └── scalajs ├── index-dev.html ├── index.html ├── resources ├── css │ └── styles.css ├── img │ ├── 2322324186_ca41fba641_o.jpg │ └── scala-js-logo-16.png └── js │ ├── jquery-1.10.2.min.js │ └── jquery-1.10.2.min.map └── src └── main └── scala └── com └── sebnozzi └── slidingpuzzle ├── SlidingPuzzleMain.scala └── ui ├── HtmlBuilder.scala ├── JqToolbar.scala ├── JsAppController.scala ├── JsAppView.scala ├── JsPuzzleView.scala ├── JsTileView.scala └── UIBuilder.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/.gitignore -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/README.md -------------------------------------------------------------------------------- /core/src/main/resources/2322324186_ca41fba641_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/resources/2322324186_ca41fba641_o.jpg -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/Puzzle.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/Puzzle.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/PuzzleTile.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/PuzzleTile.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/GridSize.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/GridSize.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/Position.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/Position.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/Rect.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/structs/Rect.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/AdjacentTilesAware.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/AdjacentTilesAware.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/PositionAware.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/PositionAware.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/VisibilityAware.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/VisibilityAware.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/AppController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/AppController.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/AppView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/AppView.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/PuzzleView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/PuzzleView.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/TileView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/TileView.scala -------------------------------------------------------------------------------- /core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/keys/ArrowKey.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/main/scala/com/sebnozzi/slidingpuzzle/ui/keys/ArrowKey.scala -------------------------------------------------------------------------------- /core/src/test/resources/size-change.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/resources/size-change.feature -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/PuzzleSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/PuzzleSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/PuzzleTileSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/PuzzleTileSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/structs/PositionSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/structs/PositionSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/structs/RectSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/structs/RectSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/AdjacentTilesAwareSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/AdjacentTilesAwareSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/PositionAwareSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/PositionAwareSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/VisibilityAwareSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/model/tile/traits/VisibilityAwareSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/AppControllerSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/AppControllerSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/AppViewSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/AppViewSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/PuzzleViewSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/PuzzleViewSuite.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/TestTileView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/TestTileView.scala -------------------------------------------------------------------------------- /core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/TileViewSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/core/src/test/scala/com/sebnozzi/slidingpuzzle/ui/TileViewSuite.scala -------------------------------------------------------------------------------- /images/original_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/images/original_small.jpg -------------------------------------------------------------------------------- /images/screenshot-browser.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/images/screenshot-browser.jpeg -------------------------------------------------------------------------------- /images/screenshot-javafx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/images/screenshot-javafx.jpg -------------------------------------------------------------------------------- /javafx/src/main/resources/2322324186_ca41fba641_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/resources/2322324186_ca41fba641_o.jpg -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/SlidingPuzzleMain.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/SlidingPuzzleMain.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/ControlPanel.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/ControlPanel.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXAppController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXAppController.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXAppView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXAppView.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXPuzzleView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXPuzzleView.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXTileView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/JFXTileView.scala -------------------------------------------------------------------------------- /javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/utils/ImageSlicer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/main/scala/com/sebnozzi/slidingpuzzle/ui/javafx/utils/ImageSlicer.scala -------------------------------------------------------------------------------- /javafx/src/test/resources/size-change.feature: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/test/resources/size-change.feature -------------------------------------------------------------------------------- /javafx/src/test/scala/com/sebnozzi/slidingpuzzle/ui/javafx/utils/ImageSlicerSuite.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/javafx/src/test/scala/com/sebnozzi/slidingpuzzle/ui/javafx/utils/ImageSlicerSuite.scala -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 1.3.10 2 | 3 | -------------------------------------------------------------------------------- /project/plugins.sbt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/project/plugins.sbt -------------------------------------------------------------------------------- /scalajs/index-dev.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/index-dev.html -------------------------------------------------------------------------------- /scalajs/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/index.html -------------------------------------------------------------------------------- /scalajs/resources/css/styles.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/resources/css/styles.css -------------------------------------------------------------------------------- /scalajs/resources/img/2322324186_ca41fba641_o.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/resources/img/2322324186_ca41fba641_o.jpg -------------------------------------------------------------------------------- /scalajs/resources/img/scala-js-logo-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/resources/img/scala-js-logo-16.png -------------------------------------------------------------------------------- /scalajs/resources/js/jquery-1.10.2.min.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/resources/js/jquery-1.10.2.min.js -------------------------------------------------------------------------------- /scalajs/resources/js/jquery-1.10.2.min.map: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/resources/js/jquery-1.10.2.min.map -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/SlidingPuzzleMain.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/SlidingPuzzleMain.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/HtmlBuilder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/HtmlBuilder.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JqToolbar.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JqToolbar.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsAppController.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsAppController.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsAppView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsAppView.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsPuzzleView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsPuzzleView.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsTileView.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/JsTileView.scala -------------------------------------------------------------------------------- /scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/UIBuilder.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sebnozzi/sliding-puzzle/HEAD/scalajs/src/main/scala/com/sebnozzi/slidingpuzzle/ui/UIBuilder.scala --------------------------------------------------------------------------------