Coder Social home page Coder Social logo

reversi's Introduction

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

reversi's People

Contributors

mzr avatar iynaur avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.