Git repository: Link
Back when I was studying computer science at university, there was an assignment involving Sokoban. We were tasked with completing a half written implementation in Java and Swing. This is not that implementation. It is, however, based on it. Recently while going over old notes I found the assignment. The submission I had originally made is lost to time, but it seemed like a nice quick diversion to get some more use out of the FLTK Ada binding.
This is a vanilla version, so the only mechanic is pushing blocks to specific goal tiles. Controls are simple enough that instructions can be left permanently written at the bottom of the window. An A* Search algorithm is used for the mouse control.