Krzysztof Mossakowski
Programowanie w środowisku Windows
2005 - Zadania
GDI
Wersja A
Wzór programu
Program:
gra polegająca na strzelaniu do pokazywanej na krótki czas tarczy
Specyfikacja:
aplikacja musi zawsze pojawiać się na wierzchu wszystkich innych okien
okno musi mieć kształt tarczy (koło)
aplikacja nie jest widoczna na pasku zadań
logika gry:
tarcza jest pokazywana co losowo wybrany okres czasu, z przedziełu 1-3 sek.
tarcza jest pokazywana przez 1 sek.
tarcza jest pokazywana w losowo wybranym miejscu ekranu, cała tarcza musi mieścić się na ekranie
tarcza ma rozmiar 150x150, rysowana czerwonymi i żółtymi pierścieniami (jak w programie przykładowym)
strzału dokonuje się lewym przyciskiem myszy w miejscu kursora myszy
w przypadku nie oddania celnego strzału w ciągu 1 sek. tarcza znika
jeśli strzał będzie celny na tarczy należy pokazać punktacje za strzał
punkty za strzał są wprost proporcjonalne do odległości od środka tarczy
za strzał w sam środek - 10.00 punktów, za strzał niecelny - 0.00, punkty należy podawać w dokładnością 0.01
tarcza z punktacją pokazywana jest przez 2 sek.
czas do następnego pokazania tarczy jest liczony dopiero od momentu jej ukrycia
napis na tarczy należy wyświetlić czcionką
Arial
na tle tarczy
napis powinien być czytelny i całkowicie mieścić się na tarczy
aplikacja działa do momentu oddania 10 strzałów
po 10 strzale należy pokazać podsumowanie z wynikami wszystkich strzałów
komunikat z końcową informacją powinien być już widoczny na pasku zadań
gra musi posiadać własny kursor w postaci celownika (w najprostrzej postaci wystarczy znak krzyżyka '+')
aplikacja powinna uwzględniać możliwość uruchomienia i działania w różnych rozdzielczościach ekranu
Wskazówki:
CreateFontIndirect(), LOGFONT
CreateEllipticRgn(), SetWindowRgn()
DrawText(), SetBkMode()
MessageBox(hWnd, "Pierwsza linia\nDruga linia", "Tytul", MB_OK | MB_ICONINFORMATION)
Przybliżona punktacja:
brak aplikacji na pasku zadań: 1.0
tarcze zawsze na wierzchu: 1.0
kształt okna: 1.5
logika gry (odpowiednie czasy, obliczanie punktów, pozycja i rysowanie tarczy): 3.5
rysowanie punktacji po strzale, lista na koniec: 1.5
kursor celownika: 1.5