Direi che, quando la riga ha il buco, la dividi in due rettangoli: quello di sinistra che avrà x costante e width che incrementa o decrementa a seconda che il buco vada a destra o a sinistra e quello di destra che cambierà sia la x che la width per farlo arrivare a fine schermo.
Quando la riga è piena, disegni un rettangolo largo tutto lo schermo e basta.