All Projects → sebnozzi → sliding-puzzle

sebnozzi / sliding-puzzle

Licence: other
Sliding puzzle game implemented in Scala / Scala.js / JavaFX

Programming Languages

scala
5932 projects
HTML
75241 projects
Gherkin
971 projects
CSS
56736 projects

Projects that are alternatives of or similar to sliding-puzzle

Fxmailer
Desktop application Tool. Allow you to send a beautiful html template to multiple email recipients with one click!
Stars: ✭ 55 (+120%)
Mutual labels:  desktop-app, javafx
QRCodeFX
Simple tool to generate/read QR Code and export it.
Stars: ✭ 31 (+24%)
Mutual labels:  desktop-app, javafx
Proscalafx
Pro JavaFX2 book source codes translated to ScalaFX
Stars: ✭ 83 (+232%)
Mutual labels:  sbt, javafx
JetTunes-Desktop-Music-Player
Material design music player made with javafx
Stars: ✭ 36 (+44%)
Mutual labels:  desktop-app, javafx
TelegramClone
JetGram is an open source desktop app Telegram clone made with JavaFx.
Stars: ✭ 50 (+100%)
Mutual labels:  desktop-app, javafx
InvMan
Open source JavaFX inventory management application
Stars: ✭ 40 (+60%)
Mutual labels:  desktop-app, javafx
jdeploy
Developer friendly desktop deployment tool
Stars: ✭ 282 (+1028%)
Mutual labels:  desktop-app, javafx
Everest
A beautiful, cross-platform REST client.
Stars: ✭ 785 (+3040%)
Mutual labels:  desktop-app, javafx
Youtube Comment Suite
Download YouTube comments from numerous videos, playlists, and channels for archiving, general search, and showing activity.
Stars: ✭ 120 (+380%)
Mutual labels:  desktop-app, javafx
Hacktober-2019
Repo for TOM members dedicated for the Hacktober fest of 2019 (6th edition), this repo is here to encourage open source learning and sharing and enhance git/github using abilities.
Stars: ✭ 16 (-36%)
Mutual labels:  javafx
jfree-fxdemos
This project contains JavaFX demo programs for the libraries created by JFree.
Stars: ✭ 38 (+52%)
Mutual labels:  javafx
sbt-ghpages
git, site and ghpages support for sbt projects.
Stars: ✭ 94 (+276%)
Mutual labels:  sbt
GitFx
Gitfx Java FX application
Stars: ✭ 18 (-28%)
Mutual labels:  javafx
kighlighter
Simple and extendable code highlighter in Kotlin Multiplatform
Stars: ✭ 22 (-12%)
Mutual labels:  multiplatform
JMemoryBuddy
No description or website provided.
Stars: ✭ 44 (+76%)
Mutual labels:  javafx
outwatch
The Functional and Reactive Web-Frontend Library for Scala.js
Stars: ✭ 444 (+1676%)
Mutual labels:  sbt
active-directory-dotnet-daemon-certificate-credential
A .NET 4.5 daemon application that uses a certificate to authenticate with Azure AD and get OAuth 2.0 access tokens.
Stars: ✭ 40 (+60%)
Mutual labels:  desktop-app
dbfx
This is a free, cross platform, open source database management tool based on JavaFX and vertx SQL client.
Stars: ✭ 63 (+152%)
Mutual labels:  javafx
sbt-sass
A fork of the sbt-sass repository which seems to be abandoned.
Stars: ✭ 32 (+28%)
Mutual labels:  sbt
sbt-avro
Plugin SBT to Generate Scala classes from Apache Avro schemas hosted on a remote Confluent Schema Registry.
Stars: ✭ 15 (-40%)
Mutual labels:  sbt

Sliding Puzzle

Sliding Puzzle implemented in Scala.

See the online demo here: http://www.sebnozzi.com/demos/sliding-puzzle/

Multi-platform

Thanks to Scala.js, it compiles both to:

  1. Desktop JVM application
  2. Browser JavaScript single-page application

As much as possible, I've tried to have UI and platform-agnostic code. This lead to a better design which made the different implementations not only possible but straightforward.

Desktop Version

The native JVM version uses JavaFX for its UI, and can be seen here:

image

Browser Version

Here's a screenshot of the Scala.js based version, running on the browser:

image

Building

JDK

Tested on JDK version 11 and 14.

Running

Run using SBT with:

sbt javafx/run

Scala.js Version

Unoptimized / Development

Development, or "fast-optimized", mode compiles code very quick. The generated file is still small enough (600 Kb)to load quickly in the browser (while developing), but not as small as in the "full-optimized" mode (131 Kb).

Package "fast-optimized" code with SBT with:

sbt scalajs/fastOptJS

This will generate "fast-optimized" JavaScript files.

To load this "development" version of the puzzle, open this file in your browser:

scalajs/index-dev.html

Full-Optimized / Production

Optimized code takes longer to compile / optimize, but the generated code is much smaller (around 130 Kb) and loads very quickly in the browser.

Generate fully-optimized code with SBT with:

sbt scalajs/fullOptJS

This will generate one optimized JavaScript file using Google's closure compiler.

To load the optimized version of the puzzle, open this file in your browser:

scalajs/index.html

Credits

Scala.js

Scala.js-related acknowledgements:

  • Thanks to Sébastien Doeraene and the EPFL for Scala.js!
  • Thanks to all Scala.js contributors
  • Thanks to all maintainers of the Scala.js jQuery wrappers
  • The multi-platform SBT setup is "inspired" by this project, also by Sébastien Doeraene

About the picture

The musicians you see on the picture are part of a Jazz "Big Band".

image

Tini Thomsen and Matthias Konrad with the Thomsen Group @ Birdland, Hamburg

I wanted to use this picture for this puzzle because it portraits two of my favourite jazz-instruments:

  • baritone sax (left)
  • trombone (right)

Original picture taken by Marc Wellekötter

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].