👾This is the story of a piece of Tetris, one little square and a dev walk into a bar...
Fillit is a project that let me discover and familiarize myself with a recurring problematic in programming: searching the optimal solution among a huge set of possibilities, in a respectable timing. In this particular project, I'll have to find a way to assemble a given Tetriminos set altogether in the smallest possible square.
A Tetriminos is a 4-blocks geometric figure you probably already heard of, thanks to the popular game Tetris.
Fillit is not about recoding Tetris, even if it’s still a variant of this game. My program will take a file as parameter, which contains a list of Tetriminos, and arrange them in order to create the smallest square possible.
Obviously, my main goal is to find the smallest square in the minimal amount of time, despite an exponentially growing number of possibilities each time a piece is added.
I should think carefully about how I'll structure my data and how to solve this problem, if I want my program answers before the next millenium.