Let's make it once again, but now with proper OOP implementation.
So, in fact, this project does e-x-a-c-t-l-y the same thing as https://github.com/someengineername/SandGameColor, but now with full application of OOP.
Borders, moving dots, and empty spaces are now objects. And they can interact with each other, yet the mechanism is still the same.
I've tried to wrap almost everything in classes and utilize methods as much as it can be convenient (such as getting/setting attributes, interactions within an object e.t.c.)
