10 lub 20 punktów (oznaczone czarnym kwadratem o boku 3 pikseli)
rozmieszczonych losowo w oknie
linie pomiędzy punktami dodane przez użytkownika
Działanie użytkownika:
naciśnięcie lewego przycisku myszy na kwadracie oznaczającym punkt
- rozpoczęcie rysowania odcinka od tego punktu
przesuwanie kursora myszy podczas rysowania odcinka - odrysowywanie
odcinka od punktu początkowego do punktu aktualnej pozycji myszy
podczas rysowania odcinka punkt leżący najbliżej jego ruchomego
końca oznaczać czerwonym kwadratem (z wyjatkiem punktu startowego)
wykorzystać funkcję SetROP2() i wybrać taki tryb rysowania,
w którym dwukrotne narysowanie tego samego powoduje powrót do
sytuacji sprzed rysowania
podczas akcji rysowania odcinka odrysowywać wyłącznie odcinek
i punkt leżący najbliżej jego ruchomego końca (tak aby zawsze
1 punkt był zaznaczony na czerwono)
puszczenie lewego przycisku myszy podczas trwania akcji dodawania
odcinka - zakończenie akcji
narysować odcinek piórem według aktualnych ustawień z menu
pomiędzy punktem początkowym i punktem zaznaczonym czerwonym kwadratem
nie dodawać odcinka, jeśli przecina jakikolwiek odcinek już
istniejący (częścią wspólną mogą być wyłącznie punkty) - podczas
sprawdzania można przyjąć, że odcinki nie mają grubości
podczas akcji dodawania odcinka nie tracić kontroli nad myszą
po wyjściu poza obszar okna
Menu programu:
opcja "20 punktów" - zaznaczona (wykorzystać CheckMenuItem()),
jeśli podczas następnego losowania punktów ma ich zostać wylosowanych
20
dwie grupy wyboru parametrów linii rysowania dodanego odcinka:
kolor (czerwony, zielony, niebieski), grubość (1,2,3)
aktualny wybór powinien być zawsze zaznaczony - wykorzystać
CheckMenuRadioItem()
opcja powodująca usunięcie wszystkich punktów i odcinków oraz
wylosowanie nowych punktów w oknie (zawsze wykorzystując cały obszar
części roboczej okna i tylko ten obszar)
Cała zawartość okna powinna być zawsze odrysowywana, okno powinno
mieć możliwość zmiany rozmiaru