-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathopis_koncowy.txt
More file actions
39 lines (31 loc) · 2.27 KB
/
opis_koncowy.txt
File metadata and controls
39 lines (31 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
2hard2solve
Karol Kraczyna i Bartosz Cichocki
Gra oparta o silnik MonoGame (Microsoft XNA), w której gracze mają za zadanie dojść do mety w najkrótszym czasie. Utrudnieniem w grze jest
fakt, że do przejścia poziomu potrzebni są dwaj gracze, przejście tylko jednym graczem jest niemożliwe.
Prosta grafika została wykonana w 2D, za pomocą bezpośredniego rysowania w programie (plansza nie jest ładowana z pliku).
Karol:
Bartek:
W celu kontroli czasu, w jakim gracz przechodzi dany poziom, wykorzystany został prosty timer programowy wykorzystujący zasoby frameworku MonoGame ( klasa GameTime). Po przejściu poziomu, aktualnie odliczony czas zostaje zapisany w bazie danych, co umożliwia późniejsze zestawienie go w rankingu.
Baza danych oparta jest o open-sourcową bazę LiteDB (http://www.litedb.org/). Wykorzystanie gotowej biblioteki DLL uprościło część bazodanową projektu. Po ukończeniu poziomu, metody statycznej klasy DB odpytują bazę danych i wyszukują najniższego czasu, który jest przypisany do aktualnego poziomu. Dodatkowo po znalezieniu usuwane są wszystkie inne rekordy dotyczące danego poziomu, przez co w bazie danych zapisany jest zawsze najniższy czas dla danego poziomu, co wykorzystywane jest przy wyświetlaniu rankingu. Filtrowanie oraz sortowanie bazy danych wykonane jest m.in. za pomocą LINQ.
Menu oparte jest na maszynie stanów zbudowanej za pomocą enumów. W pętli głównej gry przechwytywane są klawisze do jednego z poniższych dialogów (w zależności od ustawionych flag):
-Menu główne
-Menu w czasie pauzy
-Ekran końcowy gry.
Poruszając się po menu zmieniany jest kolor rysowanych napisów, co powoduje efekt wybierania poszczególnych opcji.
Rysowanie menu opiera się na flagach i odbywa się w głównej funkcji rysującej frameworka MonoGame.
Bartek:
-Menu
-Ranking
-DB
-Timer
Karol:
Cała mechanika gry opiera sie na statycznej klasi fizyki. Obiekty komunikują się z nia poprzez odpowiednie interfejsy, a sama fizyka wywołuje odpowiednie funkcje w obiektach jeżeli zachodzi potrzeba.
Dokładność obliczeń jest dodatkowo zwiększana dzięki częstrzemu wykonywaniu obliczeń.
Karol:
-fizyka
-mechanika gry
-struktura przchowywania map
-projekt poziomów
-drzwi, płytki naciskowe
Link youtube:
https://youtu.be/RKW16iNqP68