@Dietrich Epp: In fact there is an infinity of levels, my initial goal was to create them procedurally with an increasing difficulty. But due to the lack of time, there are only four blocks patterns that are repeated in loop. Only the bad guys are added procedurally in an increasing quantity.
But my algorithm was wrong. Every block has a probability of "level" percent to become a bad guy (capped at 50%). The error is here, at a given percentage, with bad luck you can have near all the blocks to be bad guys, or on the other side, if you are lucky, you can have near zero bad guys.
A good algorithm to define the number of bad guys could be Min(level, nb total of block / 2), and then, to spread the bad guys randomly on existing blocks. Using the "time before spawn" according to the level of difficulty could also be a good option. Currently, there are only 4 case with equal probabilities 5, 10, 15 or 20 seconds.
With the enhanced version that saves progression, I have currently reached the level 62. But the level 46 was the harder because it is the only level that has not enough blocks to link the pylons if you wait until all bad guys spawn (a bad luck case like described above).