Предмет на оваа семинарска работа е создавање на играта Finki Man Escape. Оваа игра е едноставна и многу заразна. Целта е да го одведете студентот надвор од факултетот со поместување на сините клупи од неговиот пат. Секое наредно ниво е потешко од претходното и е добра игра за подобрување на логичкото размислување. Идејата ја земавме од Андроид верзијата на оваа игра, Unblock Me која што може да ја најдете на следниот линк
==============
Почетното мени содржи една форма, која во себе содржи три custom копчиња; едно за стартување на самата игра ,другото за излез од играта и трето копче за помош. Изглед на играта кога ќе се стартува:
==============
При кликнување на копчето START се вклучува играта. Од левата страна се наоѓа површината за играње, додека во горниот десен агол се покажува времето поминато во играње, бројот на потези, тековното ниво, досега најдоброто време на играње и минималниот број на потези со кој е завршена играта. За последните две е употребен EntityFramework со кодот:
`using (var db = new SaveGameContext())
{
var query = (from b in db.Levels select b);
foreach (var item in query)
{
levels = item;
db.Levels.Remove(item);
}
db.SaveChanges();
if (levels == null) levels = new Levels(true);
}`
При што со ова се вчитува објект од класата Levels кој предходно се зачувал, доколку немало претходно зачувано се прави нова инстанца од класата Levels. Откако се вчитал објектот истиот се брише за на крај на играта да се сочуваат новите промени, како што е покажано подолу.
`private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
using (var db = new SaveGameContext())
{
db.Levels.Add(levels);
db.SaveChanges();
}
}`
==============
Изгледот на играта е следниот:
Исто така, додадовме едно MenuStrip составено од Game, Restart, Pause, Help и Credits. Со кликнување на Game се појавува опаѓачко мени за избор на големина на прозорецот, избор дали сакаме да играме со момче или девојче (за да се избегне дискриминација по полот :P ) и опција за враќање назад на почетното мени. Менито изгледа вака:
На копчето Restart играта се ресетира (тајмерот се враќа на нула,како и бројот на потезите, а клупите се враќаат на почетните положби). Со кликнување на Pause тајмерот и бројот на потезите се зачувуваат и се отвара почетното мени, каде наместо копчето START се појавува RESUME. На копчето Help се отвара нов прозорец каде што е покажана слика со објаснување како се игра играта. Ова е направено со додавање на нова форма. Со притискање на Credits се отвара нова форма која ги содржи нашите имиња. Изглед на Help менито:
Кога ќе се заврши некое ниво вратата од десната страна се отвара и се појавува дијалог прозорец дали сакаме да одиме на следното ниво или не. Доколку не сакаме, не враќа на почетното мени. Во спротивно, се продолжува на следното ниво што е прикажано на следнава слика:
Со притискање на EXIT , играта се исклучува, а со притискање на HELP копчето се појавува истата форма за помош.
==============
За реализација на играта имплементиравме вкупно 8 класи (Blocks, Game, Door, Figura, Kopce, Level, Levels, Student) и 3 Форми (Form1, helpMenu, Credits). Исто така сите функции кои се имплементирани за играта се закоментирани и накратко објаснети.
Се надеваме дека играта ќе ви се допадне и ви посакуваме пријатна игра! :)