Windows Forms

Zadanie - Gra Snake

Wykorzystując Windows Forms zaimplementuj grę Snake (Wąź).

Utwórz projekt Windows Forms i na formie umieść:

kontrolkę PictureBox o wymiarach 400×400, reprezentującą planszę po której porusza się wąż,

etykiety prezentujące aktualny wynik (ilość zjedzonego pożywienia),

kontrolkę Timer, która z interwałem co 100 ms uruchamia kolejne kroki gry.

Utwórz klasę reprezentującą węża, która zawiera informacje o położeniu głowy węża i wszystkich elementów ciała oraz informację o kierunku poruszania. Klasa udostępnia następujące operacje:

pobranie informacji o położeniu głowy,

możliwość ustawienia kierunku poruszania się węża (góra, dół, lewo, prawo),

ruch węża we wskazanym kierunku. Jeżeli wąż skonsumuje pożywienie umieszczone na planszy wówczas jego ciało wydłuża się o jeden element,

rysowanie węża na dostarczonym obiekcie Graphics,

pobranie informacji o wystąpieniu kolizji (wąż gryzie siebie w ogon).

Utwórz klasę realizującą mechanikę gry. Obiekt zawiera informacje o położeniu węża oraz pożywienia na planszy i udostępnia następujące operacje:

zainicjowanie nowej gry: waż o długości 1, losowo usytuowane pożywienie, zerowanie punktacji,

pobranie informacji o stanie gry (czy zakończona, czy w toku),

wykonanie pojedynczej iteracji: przesuniecie węża, sprawdzenie kolizji i ewentualnie zakończenie gry,

obsługa klawiszy: zmiana kierunku poruszania węża przy wciśnięciu odpowiedniego klawisza,

rysowanie planszy z aktualnym położeniem węża i pożywienia, ewentualnie w przypadku gdy gra jest zakończona wypisywany jest tekst „Game Over”