Założenia Tematem gry będą walki w formule MMA Motywem przewodnim gry jest stworzenie własnego zawodnika i symulowanie walk z jego udziałem Celem gry jest zostanie mistrzem organizacji. Aby to osiągnąć, stworzony przez gracza zawodnik będzie musiał w ciągu swojej kariery pokonać licznych przeciwników - od początkujących, przez zawodowców, aż po samego mistrza. Przed kolejnymi walkami, postać będzie mogła odbyć trening, zwiększający odpowiednio jej statystyki i szanse w najbliższym pojedynku.
Sposób rozgrywki Tworzymy zawodnika Odbywamy trening lub przechodzimy bezpośrednio do walki Między rundami istnieje możliwość regeneracji punktów życia lub staminy Po wygraniu walki zmienia się odpowiednio miejsce naszego zawodnika w rankingu
Główne okno programu
Tworzenie postaci Imię Data urodzenia Wybór jednego z pięciu stylów walki w parterze. (BJJ, Sambo, Judo, Wrestling, Luta Livre) Wybór jednego z pięciu stylów walki w stójce.(Karate, Muay Thai, Kick-Boxing, Taekwondo, Sanda/Sanshou) Do rozdzielenia 22 pkt pomiędzy statystyki podstawowe: siła szybkość zasięg
Okno tworzenia postaci
Trening Możliwość zwiększenia statystyk Przed walką możliwy tylko 1 wybór treningu - siłowego bądź szybkościowego 4 treningi siły lub szybkości powodują wzrost trenowanej cechy o 1 punkt W zależności od treningu zawodnik zaczyna walkę z obniżoną ilością hp lub staminy
Okno treningu
System walki 3 rundy po 3-5 min (czas umowny) każda runda składa się z maksimum 30 zdażeń w zależności od statystyk i pewnych losowych wartości zależeć będzie który zawodnik atakuje i jaka czynność wykonuje Podczas walki wyświetlane są komunikaty Zakończenie walki: nokaut poddanie decyzję, po zakończeniu regulaminowego czasu
Okno walki
Ranking Ranking zawiera 20 zawodników plus postać gracza. Gracz zaczyna grę na ostatniej pozycji w rankingu. Gracz wygrywa grę jeśli uda mu się dotrzeć na pierwszą pozycję w rankingu. Każda walka jest z przeciwnikiem znajdującym się jedną pozycję wyżej od gracza. Jeżeli postać gracza wygra walkę zamienia się z przeciwnikiem miejscem w rankingu. Jeżeli postać gracza przegra walkę to pozostaje na tej samej pozycji w rankingu co przed walką.
Okno rankingu
A jak to wygląda pod maską?
Generator liczb losowych Liczby losowe w grze generowane są przy wykorzystaniu Mersenne-Twister
Biortym Data urodzenia zawodnika służy do obliczenia biorytmu, który ma wpływ na walkę
Klasa Base Klasa bazowa to punkt wyjściowy przy tworzeniu kolejnych klas, będących składowymi ostatecznych - mieszanych sportów walki. Zawiera ona pola wspólne dla wszystkich klas pochodnych.
Klasy pochodne 5 stójkowych 5 parterowych statystyki charakterystyczne dla sztuk walki które reprezentują unikalne przeliczniki niemodyfikowalne wartości statystyk
Funkcja walki Losowanie zawodnika który pierwszy zaatakuje Losowanie numeru akcji: akcja w parterze akcja w stojce
Wykorzystanie Qt4 Tworzenie okien - dziedziczenie po klasach QWidget, QMainWindow Mechanizm sygnałów-slotów
Singleton Pattern Singleton Pattern jest to pewien sposób na stosowanie zmiennych globalnych, czyli takich widocznych - do odczytu i zapisu w całym programie, w każdym jego miejscu. Używanie klas Qt dość znacznie ogranicza możliwości używania klasycznych zmiennych globalnych Singleton to klasa, której podstawową cechą jest posiadanie tylko jednej instancji. W ten sposób jeśli raz zapiszemy tam jakąś wartość będziemy ją mogli zawsze odczytać.
Parser XML Statystyki zawodnika zapisywane i odczytywane są z pliku xml Parser przegląda plik pod kątem znanych mu tagów, nieznane omija Jeśli trafi na znany tag - wykonuje odpowiednią funkcję Wykorzystując singletona zapisuje do pliku xml statystki zawodnika