si si parliamo di windows form

quello che faccio è che nella funzione associata al timer aggiorno la posizione dell'oggetto con oggetto.updateposition().
in updateposition faccio

posi= new Point(pos.X, pos.Y+30)

per far scendere il pezzo.

nella funzione Paint, che mi permette di disegnare l'oggetto, invece( che richiamo nell'override di OnPaint della form) faccio

RotateTrasform(90); // per ruotae di 90°
TranslateTrasform(this.location.x ,this.location.y)