- Java 12 on your shell path
git clone https://github.com/ndon55555/Tetris.gitcd Tetris./gradlew :desktop:runGame
git clone https://github.com/ndon55555/Tetris.gitcd Tetris./gradlew :browser:runServer- Go to
localhost:8080in your browser.
- Iterating over a parallel stream of a synchronized collection is not automatically thread-safe.
Timer.schedule(...)vsTimer.scheduleAtFixedRate(...).- To set an event handler on the entire window in TornadoFX, register it on the current stage during the
View'sonDock()method. - To have fine control of multiple key presses at once, keep track of the keys pressed and released.
- If it's necessary to stop a thread that is currently sleeping, call its
interrupt()method. Wherever theThread.sleep()inside of that thread is executed must be wrapped in atry-catchblock that handlesInterruptedException. - To make sure a thread stops when the main program has ended, set it to a daemon thread before execution.
- At the time of this writing, Travis CI doesn't have a text area where you can input multiline environment variables.
They only provide a text field. To get around this, simply replace new lines with
\n, then prefix the string with$'and append'(e.g.$'like\nthis').