Проект изработен од:
- Давор Димоски 171015
- Моника Коруноска 171062
Chain reaction е игра каде што треба да се предизвика ланчана реакција на топчиња. При клик во Windows формата се создава топче кое треба да ги допре малите топчиња што се движат. Кога ќе се погоди едно топче, тоа се шири во големина и може да погоди други мали топчиња. Се состои од 7 нивоа и на секое ниво има одреден број на топчиња кои треба да се погодат за да се помине нивото. Доколку не се исполни условот, играта завршува. На почетната страна на апликацијата има 3 опции: Play, Custom Game и Instructions. Со клик на копчето Play се стартува играта со нивоа. На Custom Game се отвара нов прозорец каде што играчот може сам да си ја подеси играта. Се внесува бројот на мали топчиња што ќе бидат во играта и бројот на топчиња што треба да се погодат за да биде успешна играта. Во Instructions се прикажани инструкциите на играта.
За да се направи апликацијата, користени се неколку форми и класи, меѓу кои поважни се Levels и SmallBalls. Во формата Form1 каде што се наоѓа играта, се чуваат нивоата во инстанца од класата Levels наречена levelsDoc. Во levelsDoc се чува листа од нивоа (инстанци од класата BallsDoc) и инстанца од тековното ниво. Дефинирани методи во класата се:
public void Restart(bool custom)
- се користи за бришење на тековните нивоа што се чуваат во листата. Се повикува кога играчот сака од ново да ја почне играта преку копче во Menu Strip.public void addBallsDoc(bool custom)
- се користи за додавање на почетно ниво во листата. Може да се додаде или прво ниво или Custom нивоprivate void changeLevel()
- помошен метод кој проверува кое е тековното ниво на играчот и го додава во листата на нивоа. Повикан е само од методот daliIspolnuva()public bool daliIspolnuva()
- проверува дали играчот го исполнил условот за да премине на ново ниво. Доколку е исполнет, се повикува changeLevel()public int poeniOdSiteNivoa()
- метод за пресметување на поените кои корисникот ги добил од сите нивоа. Со for циклус се сумираат поените од секое нивоpublic int getLevel()
- го враќа тековното ниво (коешто е зачувано во enum LEVELS форма) со целобројна вредност. Се користи за на екран да се прикаже тековното ниво на коешто се наоѓа корисникот
Во Form1 се чуваат повеќе променливи, меѓу кои:
bool isOpened
- која служи како flag кој сигнализира дали е отворена тековната форма или не.BigBall bigBall
- првото топче кое се иницијализира при клик во формата - тоа прво почнува со предизвикување на ланчаната реакција.Levels levelsDoc
- инстанца од класата Levels што ги чува нивоата на корисникотint leftX, int topY, int width, int height
- променливи кои служат за дефинирање на рамките на просторот во којшто ќе се движат топчињата од играта.