GDI

Zaimplementuj aplikację, która pozwala rysować przy pomocy myszki po oknie głównym. Rysowanie odbywa się po wciśnięciu lewego klawisza myszy domyślnym piórem. Dodaj ro programu możliwość zmiany koloru posaka oraz zmiany jego grubości.

Przydatne funkcje

  • funkcja GetDC uzyskuje uchwyt do DC (device context)
  • funkcja ReleaseDC() zamyka DC
  • funkcja MoveToEx przesuwa pióro do wskazanej pozycji
  • funkcja LineTo rysuje linię do wskazanej pozycji
  • komunikaty WM_LBUTTONDOWN, WM_LBUTTONUP, WM_MOUSEMOVE wołane w czasie zdarzeń związanych z myszą (wciśnięcie lewego klawisz, zwolnienie lewego klawisza i ruch myszą)
  • finckja ChooseColor() z biblioteki Commdlg.h tworzy okno dialogowe umożliwiające wybrać kolor.

Zaimplementuj grę Space Invaders. Gracz porusza za pomocą klawiszy pojazdem kosmicznym w lewo i w prawo oraz oddaje strzał po wciśnięciu spacji. Wrogie statki kospiczne poruszają się automatycznie i w losowych odstępachch czasu oddają strzał do pojazdu gracza. Każdy zestrelony statek wroga zwiększa wartość punktów wyświetlanych na liczniku u dołu ekranu. Sprity (statek gracza i wrogie statki) zrealizowane są za pomocą bitmap.

Przydatne funkcje

Device Context

  • GetDC - uzyskanie uchwytu do DC (device context)
  • ReleaseDC
  • BeginPaint - przygotowanie okna do rysowania dla komunikatu WM_PAINT
  • EndPaint

Obiekty GDI

Kształty i rysowanie

Timer

  • SetTimer - uruchomienie stopera
  • komunikat WM_TIMER wysyłany po określonym czasie od uruchomienia czasomierza
  • KillTimer - zatrzymuje (zabija) stoper

Sterowanie