Krzysztof Mossakowski
Programowanie w środowisku Windows
2006 - Zadania
Klawiatura, Mysz
Wersja B
Unitris
Wzór programu
Opis:
klon tetrisa polegający na układaniu w studni jednoelementowych klocków
wymiary pojedynczego klocka to 1/16 szerokości i 1/12 wysokości ekranu
pole gry ma wymiary 12 x 6 klocków, znajduje się na środku ekranu i nie może zmienić swojej pozycji
zwykłe klocki kończą swój ruch po zetknięciu się spodem z innym klockiem lub z dnem studni
zwykłymi klockami można poruszać w lewo i w prawo w obrębie studni
klocek specjalny nie porusza się na boki i służy do likwidowania leżących już w studni innych klocków
gra kończy się, gdy nie można utworzyć kolejnego zwykłego klocka
kolory:
studnia: kolor tła okna dialogowego
zwykły klocek: kolor nieaktywnego paska tytułowego
klocek specjalny: kolor aktywnego paska tytułowego
Funkcjonalność:
Rozgrywka:
zwykły klocek zawsze pojawia się na samej górze w czwartej kolumnie studni
zwykłym klockiem można poruszać w lewo i w prawo przy użyciu myszki lub kursorów klawiatury
klocek specjalny pojawia się na górze w losowo wybranej kolumnie
klocek specjalny usuwa wszystkie inne klocki, które spotka na swojej drodze do dna studni
klocek specjalny powinien pojawiać się losowo z prawdopodobieństwem 1/8
ruch klocka o jedno pole w dół trwa 250ms
po zakończeniu rozgrywki aplikacja wyświetla informacje dotyczące czasu gry
gracz może w każdej chwili zakończyć grę wciskając klawisz ESCAPE
Obsługa myszy:
za pomocą myszy można zmieniać położenie aktualnie spadającego zwykłego klocka na zasadzie drag & drop
ruch myszą powoduje ruch półprzezroczystego śladu klocka zmieniając pozycję klocka zgodnie z zasadami gry
ślad klocka ginie w momencie zakończenia ruchu klocka
poruszanie śladem klocka specjalnego nie powoduje zmiany jego położenia i ginie wraz z usunięciem klocka
gdy ślad klocka jest wyciągnięty, nie można poruszać elementem za pomocą kursorów
Dodatkowe wymagania:
na pasku zadań widoczne tylko jedno okno
okno aplikacji zawsze na wierzchu innych okien
kombinacja Alt+F4 kończy działanie aplikacji
menu systemowe po kliknięciu kombinacji Alt+Spacja lub kliknęciu prawym przyciskiem myszy na oknie w pasku zadań
Wskazówki:
SetLayeredWindowAttributes(), WS_EX_LAYERED
SetClassLongPtr(), SetWindowLongPtr()
SetCapture(), ReleaseCapture(), GetCursorPos()
SetWindowPos(), MoveWindow()
PostMessage()
Przybliżona punktacja:
główne okno aplikacji - 1.0
obsługa zwykłych klocków - 2.0
obsługa klocków specjalnych - 2.0
obsługa myszki - 2.0
pozostałe elementy gry - 1.0
właściwości okien - 2.0