Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 2.48 KB

README.md

File metadata and controls

42 lines (31 loc) · 2.48 KB

Reversi

a simple game written in C with GTK+

  1. Okno główne aplikacji.

alt tag

  1. Funkcjonalności aplikacji:
  • Po kliknięciu przycisku "Nowa gra" przeciwnik dostaje zapytanie czy chce rozpocząć nową grę. Może zaakceptować albo odrzucić propozycję. W tym czasie gracz który wnioskował o nową grę czeka na odpowiedź przeciwnika. W przypadku odpowiedzi pozytywnej gra rozpoczyna się.
  • Po kliknięciu przycisku "Cofnij" przeciwnik dostaje zapytanie czy pozwala swojemu przeciwnikowi na cofnięcie jednego ruchu. W tym czasie gracz który wnioskował o cofnięcie ruchu czeka na odpowiedź przeciwnika. W przypadku odpowiedzi pozytywnej ruch jest cofany. Można wnioskować tylko o cofnięcie jednego swojego ruchu.
  • Gracz nie może nacisnąć żądnego pola dla którego jego ruch byłby niepoprawny.
  • Pola oznaczone małym szarym kółkiem to pola na które gracz może nacisnąć i wykonać poprawny ruch.
  • Jeśli poprawny ruch na gracza nie istnieje to automatycznie przeciwnik ma 2 ruch.
  • Jeśli gracz wyjdzie z gry to jego przeciwnik otrzymują taką informację i może wyjść z gry.
  • Wszystkie niedozwolone akcje są poblokowane.
  • Gracze podczas rozgrywki mogą ze sobą konwersować.
  • Po zakończonej rozgrywce obu graczom wyświetla się informacja który z nich wygrał. Mają możliwość albo od razu wnioskować o następną nową grę albo zrezygnować z tej przyjemności i wejść do okna z zakończoną grą i znowu ewentualnie zacząć nową grę lub wyjść.
  1. Moduły aplikacji:
  • Moduł główny - tworzy GUI i podpina zdarzenia do sygnałów.
  • Moduł gry - zarządza całym przebiegiem gry i wszystkimi akcjami z nią związanymi, oraz czatem.
  • Moduł komunikacyjny - odpowiada za komunikację międzyprocesową.
  1. Uruchamianie / kompilacja:
    4.1 Linux
    Do kompilacji wymagana biblioteka GTK+-3.0
    Jej instalacja:
    sudo apt-get install libgtk-3-dev
    Program kompilujemy następnie polecieniem:
    gcc main.c reversi.c pipes-lin.c -std=c99 -o reversi `pkg-config --cflags --libs gtk+-3.0`

    Uruchamiamy w 2 osobnych terminalach poleceniem:
    ./reversi B lub ./reversi C do skutku.
    Jeśli nie zadziała B to uruchamiamy z C, a drugi z innym parametrem.

    4.2 Windows
    Na Windowsie postępujemy analogicznie, lecz kompilujemy z plikiem pipes-win.c