Skip to content

gognjanovski/TriGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

TriGame

TriGame е логичка игра која ќе Ве натера да го дадете својот максимум за да победитe.
Кога би имале задача да ја опишеме нашата игра со една реченица, ова е реченицата која најдобро го прави тоа. 
Главната идеја е корисникот да се зарази со TriGame, но и да не му се дозволи лесно да победи.



Game Tutorial & How To Play

Целта на играта е корисникот да успее да освои 100 поени. Играта се игра со помош на стрелките на тастатурата: → - за придвижување во десно ← - за придвижување во лево ↑ - за придвижување нагоре ↓ - за придвижување надоле Според ова, контролирањето на играта замислено е да биде едноставно, но нејзината логика иако наизглед едноставна, целта е доста да ве измачи (во позитвина смисла). Изгледот на играта е составен од матрица 5x5, која на стартот од играта е исполнета со само еден триаголник. Со секое поместување на триаголникот низ матрицата, се создава нов триаголник кој се сместува во матрицата по случаен избор. Еден триаголник може да се најде во 4 позиции во зависност од тоа каде се наоѓа неговиот прав агол. - правиот агол од триаголникот во горниот лев агол од квадратчето - правиот агол од триаголникот во долниот десен агол од квадратчето - правиот агол од триаголникот во горниот десен агол од квадратчето - правиот агол од триаголникот во долниот лев агол од квадрачето Со притискање на стрелките од тастатурата се поместуваат сите постоечки триаголници во празните полиња од матрицата во насока соодветно со стрелката која што е притисната. Доколку постојат 2 триаголници еден до друг кои се така позиционирани да создаваат четвороаголник со поместување на триаголниците еден кон друг се создава четвороаголник во жолта боја. Доколку два четвороаголници во жолта боја се поместат во насока еден кон друг се создава црвен четвороаголник. Ова е една од состојбите на играта. Постои и бројач кој одбројува и тоа во зависност од претходно избраната тежина од Settings. Според тоа, постојат три мода на играта Easy, Medium, Hard.

Како ја имплементиравме играта?

На стартот од играта се во една форма се наоѓа мени-то. Во менито има 4 опции, New Game, Rankings, Settings и Quit. Со кликање на било која од опциите (освен Quit ) се отвара нова форма. Тоа значи дека работиме со повеќе различни форми. Главната класа е класата Grid која всушност ја содржи матрицата на играта, матрица од објекти од класата Shape. Во Shape се чуваат податоци за ориентацијата на објектот, поточно за каков триаголник/коцка станува збор. Исцртувањето на видот на Shape го правиме со тоа што прикачуваме нови слики од Resourses. Во Grid класата се покриени методите за придвижување на објектите, а тоа го правиме со повторно исцртување на сите објекти на матрицата, се разбира на новите позиции. Сите напишани фунцкии во Grid класата, се повикуваат во кодот на формата NewGame. Во NewGame.cs се наоѓа тајмерот кој одбројува неколку минути. Кога ќе дојде до 0, играта е завршена и автоматски се отвара нова форма во која треба да го внесете вашето име за да се зачува резултатот. Зачувувањето на резултатите го правиме со помош на текстуална датотека, во која ги испишуваме сите нововнесени резултати и ги прикажуваме кога ќе се отвори формата Rankings. Во Settings со radio buttons и check buttons може да се определи модот на играта, како и тоа дали сакаме да има музика или не. Музиката ја внесуваме во програмата во класата Mp3Player. Исто така има можност и за промена на песната.

Опис на функциjata goUp() од класата Grid

Функцијата goUp() заедно со функциите goDown(), goLeft() I goRight() се главните функции во играта. Оваа функција е дел од класата Grid.cs и се повикува во KeyUp евентите соодветно на клик на стрелките при играње. Оваа функција ја изминува матрицата од објекти Shape. Во оваа и останатите слични функции е содржан алгоритмот на играта – при придвижување со стрелките во некој правец сите триаголници и квадрати се поместуваат в тој правец се додека има слободни полиња ( застануваат кога ќе наидат на друг триаголник/квадрат или на границата на полето за игра). При изминување на матрицата во оваа функција се проверува со if – услови за секое поле од матрицата matrix[i,j], дали доколку тековното поле е празно и полето сто се наоѓа под него на матрицата (иста колона, нов ред) е триаголник или квадрат. Доколку е, триаголникот/квадратот се поместува нагоре за една позиција – се менува изгледот на матрицата во основната класа Grid. Дополнително се проверува можноста за спојување (join) на два триаголници или два жолти квадрати. Во оваа функција се повикува и функцијата paintMatrix() која ја изминува и исцртува матрицата.

About

Visual Programming

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published