Agrego mi juego de una pelota que rebota con los extremos.
Aumenta su velocidad cuando colisiona.
Cambia de color y tamaño cuando supera cierta velocidad.

Tengo un error de borde al calcular la colision, ya que ciertas veces colisiona multiples veces y/o la direccion adquirida no es la deseada.
 Es decir, si viene con direccion sudeste y colisiona contra la pared sur deberia obtener la direccion noreste, Pero quizas adquiere la direccion este y luego de un rato cambia la direccion sin haber vuelto a colisionar(visualmente) contra otro extremo.