WARCABY
Spis treści PRZYJĘTE ZASADY GRY...3 ZAŁOŻENIA PROJEKTU...4 CZYM JEST I DLACZEGO QT?...5 DIAGRAM KLAS...7 DIAGRAM GRY SINGLE PLAYER...8 DIAGRAM MULTIPLAYERA...9
1.PRZYJĘTE ZASADY GRY 1. W grze bierze udział dwóch graczy. 2. Gra rozgrywana jest na ciemnych polach planszy o rozmiarze 8 8 pól. 3. Każdy gracz rozpoczyna grę z ośmioma pionami (jeden koloru białego, drugi -- czarnego) ustawionymi na ciemniejszych polach planszy, w sposób przedstawiony na poniższej ilustracji. 4. W przypadku gry na jednym komputerze,gracz rozpoczynający jest losowany przez komputer. 5. W przypadku gry multiplayer osoba tworząca grze rozpoczyna i gra białymi pionami. 6. Celem gry jest zbicie wszystkich pionów przeciwnika. 7. Piony mogą poruszać się o jedno pole do przodu po przekątnej (na ukos) na wolne pola. 8. Bicie pionem następuje przez przeskoczenie sąsiedniego pionu (lub damki) przeciwnika na pole znajdujące się tuż za nim po przekątnej (pole to musi być wolne). Zbite piony są usuwane z planszy po zakończeniu ruchu. 9. Piony mogą bić tylko do przodu. 10. W jednym ruchu wolno wykonać nie więcej niż jedno bicie. 11. Pion, który dojdzie do ostatniego rzędu planszy, staje się damką,. 12. Damki mogą poruszać się w jednym ruchu o jedno pole do przodu lub do tyłu po przekątnej, zatrzymując się na wolnych polach. 13. Damka może bić do przodu jak i też do tyłu.
2.ZAŁOŻENIA PROJEKTU W grze gracz ma możliwość wyboru dwóch trybów gry: 1. Single player 2. Multiplayer Single Player dwóch graczy gra na jednym komputerze,każdy z graczy wybiera sobie kolor pionków oraz gracz rozpoczynający jest losowany. Multiplayer daję nam dwie możliwości ja czekam na przeciwnika albo łączę się do kogoś do wspólnej gry. Jeśli my stworzyliśmy grę, czekamy aż przeciwnik się połączy i to my zaczynamy grę grając białymi pionkami w przypadku łączenia odwrotność.
3.CZYM JEST I DLACZEGO QT? Qt to zestaw przenośnych bibliotek i narzędzi programistycznych dedykowanych dla języka C++ i Javy. Biblioteki Qt charakteryzują się w pełni obiektową architekturą. Zawierają wiele nowoczesnych technologii programowania graficznego interfejsu użytkownika, istniejących wcześniej jedynie w Tk: mechanizm sygnałów i slotów, automatyczne rozmieszczanie widżetów oraz zhierarchizowany system obsługi zdarzeń. Której przeznaczeniem jest tworzenie złożonych aplikacji desktopowych z graficznym interfejsem. Dostępna jest pod MS Windows, Windows CE/Mobile, Mac OS X, Linuksa/X11, a także na jego wbudowane odmiany, czy Maemo, oraz Symbiana. Oprócz obsługi interfejsu użytkownika biblioteki Qt zawierają także niezależne od platformy systemowej moduły obsługi procesów, plików, sieci, grafiki trójwymiarowej (OpenGL), baz danych (SQL), języka XML, lokalizacji, wielowątkowości, zaawansowanej obsługi napisów oraz wtyczek. Zawierają także własne, niezależne od STLa szablony klas pojemników. W skład Qt wchodzi wiele specjalistycznych narzędzi programistycznych. Są to m.in.: 1. moc (Meta Object Compiler) - specjalny preprocesor, który na podstawie plików nagłówkowych (*.h) generuje dodatkowe pliki źródłowe (*.cpp), 2. uic (User Interface Compiler) - kompilator plików *.ui zwykle generowanych za pośrednictwem programu Qt Designer, 3. qmake - program do zarządzania procesem kompilacji; jego głównym zadaniem jest utworzenie, a później aktualizacja pliku Makefile na podstawie prostego opisu zawartego w definicji projektu (*.pro), 4. Qt Designer - aplikacja graficzna do definiowania graficznego interfejsu użytkownika (okien dialogowych itp.),
5. Qt Linguist - aplikacja wspomagająca tłumaczenie programu na różne języki, 6. Qt Assistant - aplikacja zawierająca rozbudowany system pomocy dla programistów. 7. Qt Creator - zintegrowane środowisko programistyczne. Możliwości Qt: API do programowania wielowątkowego. API do obsługi XML (w modelu SAX oraz DOM). API do wyrażeń regularnych (składnia perlowa). API do komunikacji sieciowej - sockety plus protokół HTTP i FTP oraz SSL. API do obsługi plików. Własna klasa łańcucha i kontenery (w tym mapa haszująca). Własny mechanizm RTTI oraz własny mechanizm wskaźników na metody (tzw. sygnały i sloty). Zestaw kontrolek GUI, które na Windows używają kontrolek systemowych. Zaawansowane kontrolki - lista, drzewo i tabela. Drzewo również może mieć kolumny, a każda z tych kontrolek może pobierać dane z osobno dostarczonego modelu. Własna, rozszerzalna kontrolka do edycji tekstu formatowanego, własna przeglądarka HTML-a. Okienka można tworzyć w kodzie lub projektować w Qt Designer. API do grafiki, tj. funkcje do rysowania 2D, drukowania, a także obsługa grafiki wektorowej SVG i jakieś połączenie z OpenGL (a co ze współpracą z DirectX??) Obsługa obrazków w różnych formatach graficznych i ikonek, łącznie z kanałem alfa. Obsługa multimediów z użyciem Phonon. Połączenia do różnego rodzaju baz danych (w tym MySQL, PosgreSQL, SQLite, Microsoft, Oracle). Własny język skryptowy QtScript, zgodny z ECMAScript (tzn. ma składnię taką jak JavaScript). Qt Creator - kompletne IDE do C++ zorientowane pod Qt. Własny mechanizm plików pomocy z wygodną przeglądarką. Integracja z Visual Studio i Eclipse. Internacjonalizacja (obsługuje Unicode), do robienia tłumaczeń służy Qt Linguist.
4.DIAGRAM KLAS
5.DIAGRAM GRY SINGLE PLAYER
6.DIAGRAM MULTIPLAYERA