Programowanie obiektowe i C++. Zadanie zaliczeniowe. Matematyka 00/01.

Napisz program służący do tworzenia i poruszania na ekranie figur geometrycznych.
Program powinien pozwolić użytkownikowi tworzyć nastepujące figury:
  - koło,
  - prostokąt,
  - kwadrat,
  - trójkąt ,
  - figura złożona (składa się z pewnej kombinacji pozostałych rodzajów figur).
Tworząc figurę należy podać jej rodzaj, rozmiar, kolor i poczatkową prędkość
w pionie i poziomie. Dane o figurach należy wczytać z pliku tekstowego 
o ustalonym przez siebie formacie.
Po utworzeniu figur program powinien umożliwać użytkownikowi wydawanie 
następujących komend dotyczących wszystkich figur:
 - zmniejsz prędkość w poziomie o zadany kwant (stała w programie),
 - zwiększ prędkość w poziomie o zadany kwant (stała w programie),
 - zmniejsz prędkość w pionie o zadany kwant (stała w programie),
 - zwiększ prędkość w pionie o zadany kwant (stała w programie),
 - zmień kolor na następny,
 - zmniejsz rozmiar o zadany kwant (rozmiar nie może stać się ujemny),
 - zwiększ rozmiar o zadany kwant (rozmiar nie może stać się ujemny), 
 - wykonaj ruch (przesuwa figurę jeden raz zgodnie z jej szybkością),
 - zakończ program.

Uwagi:
- najwazniejszą częścią programu jest odpowiednia hierarchia klas,
- interfejs programu dotyczący wprowadzania danych/poleceń może być dowolnie
  prosty (np. można przyporządkować powyższym poleceniom klawisze na 
  klawiaturze),
- program może działać pod DOSem (lepsza dokumentacja procedur graficznych
   w systemie podpowiedzi BC++ 4.52) lub pod Windows (ładniejszy wygląd). Można
   też zrobić wersję tylko tekstową (wypisującą na ekranie dane o wszystkich figurach
   po każdym poleceniu użytkownika), ale powoduje to obnizenie oceny o jeden.
- figury mają się odbijać od brzegów ekranu,
- przykłady rysowania będą podane na ćwiczeniach.