# Break Ball
BreakBall е игра во која со помош на форма во долниот дел од екранот се удира топчето за да се скршат останатите форми (во горниот дел од екранот). Кога ќе се исчисти екранот со сите препреки , се оди на следно ниво. Кога нема да успеете да го погодите топчето со помош на палката во долниот дел од екранот , ви се намалуваат почетните 3 животи. Светски позната игра за која има статија и на Wikipedia
Почетната форма е составена од повеќе PictureBoxes , со клик на првиот START се вклучува играта , доколку сакате да го прочитате упатството , како се игра Break Ball кликате на HOW TO PLAY и доколку сакате да ја исклучите играта имате опција EXIT на почетното мени. Во горниот дел на формата стои колку поени имате до сега освоено , како и колку обиди (животи) ви преостануваат.
Тука е објаснето како се игра самата игра и откако ќе ги прочитате правилата кликнувате на START во долниот дел на екранот и започнува играта.
Со клик на START автоматски се вклучува првото ниво. Секое ниво се почнува со клик на левиот клик и во продолжение започнува играта каде што со помош на палката во долниот дел на екранот се контролира топчето за да се срушат сите препреки (bricks) за да се премине на следно ниво. Во зависност од нивото , постојат таканаречени подароци (gifts) кои се и позитивни и негативни , за коишто ќе стане збор подоцна. На горниот дел од екрано се наоѓа мени-то од каде што може да се започне нова игра , како и да се исклучи самата игра.
Главната форма е составена од повеќе настани (events) пред се keydown events за контролирање на палката во долниот дел на екранот , како и mouse events за почеток на играта , а и за менување на default-ниот курсор во “рака” за да се означи дека е овозможено кликање на picturebox-овите на почетното мени. Тука се наоѓа и менито од каде што може да се започне нова игра како и да се исклучи самата игра.
Game.cs е главната класа кадешто се започнува нова игра и кадешто се наоѓа самиот Timer.Tick event-от поради која всушност настанува движење на површината , движење на топчето (Ball.cs) , палката(PalkaRect.cs) , како и самите гифтови(Gift.cs).
Ball.cs e класата за топчето и во оваа класа се чуваат информации за позицијата на топчето (X, Y), радиусот, брзината со која се движи, како и аголот под кој ќе почне да се движи. Тука постојат повеќе методи и тоа Move, Draw, како и колизиите WallCollision , RectangleCollision, BrickCollision во кои неизбежен метод е IsTouchng. Во глобала во сите колизии се чека да се допре топчето со ѕидот и да се одбие, со долната палка за да продолжи играта и секако со bricks во горниот дел на екранот коишто откако ќе се удрат со топчето исчезнуваат од екранот како и од помошната листа во која се чуваат сите bricks.
PalkaRect cs е класата за палката во оваа класа се чува позицијата на палката (X, Y), ширината , висината како и бојата која е фиксна и е Olive. Тука се наоѓаат методите Draw којшто ја исцртува палката како и методот ResetPosition којшто ја враќа палката на почетната позиција.
Brick.cs е класата во која се позицијата на brick-овите (X, Y), ширината , висината како и бојата. А тука се наоѓа и Draw методата која ги исцртува brick-овите во горниот дел на екранот.
Gift.cs е класата за подароците(гифтови) во оваа класа се чува позицијата на гифтовите (X, Y), ширината , висината. Во оваа класа постои метода RandomGift која што во зависност од гифтот има негативни или позитивни влијанија на самата палка. Па така доколку се земе гифт со ЦРНА боја тогаш се зголемува ширината на палката и се бои црно , доколку се земе гифт со ЧОКОЛАДНА боја се вклучува инверт и палката “полудува” , инвертирано се контролира палката како и излегува од екранот , доколку се земе гифт со ЗЕЛЕНА боја се зголемува бројот на животи(обиди) и најпозитивните гифови се оние со ЦРВЕНА и РОЗЕВА боја коишто го зголемуваат бројот на поените.
Level.cs е класата за нивоата (левелите) во која се чува листа од brick-овите , како и бројот на левелите, а и бројот на гифтови по левел. Има вкупно 5 левели .
## Ви посакуваме пријатно играње!