A puzzle done with one variable and 4 lines of EToy-Code
How? Here some hints:
Make cell corners rounded. Store a variable emptyCell in the main playfield.
Ask if the current cell under the mouse is not the empty cell and if the current cell under the mouse overlaps with the emtpy cell. If yes, move the number of this cell into the empty cell and make the current one the empty cell. Choose a cell inset so that horizontal and vertical cells overlap, but not the diagonals. Choose autoline layout of the the surrounding playfield.