Código fuente en sucio... próximamente el código en limpio...Vas colocando las cajas en su hueco correspondiente, pero piensa antes el movimiento.
Elaborado en C/C++ y openGL
De mi autoría
También pueden encontrarlo aquí
https://ulemin.blogspot.mx/2017/10/shove-it-el-juego-de-mover-cajas-en-c-y.html