Projekt zespołowy gry wykonany na potrzeby zajęć Podstawowego Warsztatu Informatyka.
Zadaniem zespołu było zaimplementowanie gry Quarto oraz napisanie botów, które mogłyby również grać w grę.
Obowiązują wszystkie podstawowe zasady gry oprócz potrzeby wołania Quarto
(gra kończy się automatycznie, gdy zostanie spełniony warunek zwycięstwa).
Pełny zbiór zasad:
https://www.ultraboardgames.com/quarto/game-rules.php
- Gra w założeniu jest przeznaczona do użytku w systmie Linux.
- Do uruchomienia gry potrzebny jest interpeter języka Python (Wesja: 3.10.12 jest działająca).
- Gra posiada już skompilowane boty. Jeśli użytkownik sam chce je skompilować potrzebuje do tego kompilatora języka C++ (autor tych słów używał g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0).
Instalacja pythona wg: https://www.python.org/
Instalacja kompilatora CPP: wykonać w terminalu polecenie:
sudo apt update && sudo apt install build-essential
Aby odpowiednio skompilować bota należy wykonać odpowiednią komendę:
g++ -o {nazwa_skompilowanego_pliku} {ścieżka_do_pliku_cpp}
Następnie skompilowany plik należy umieścić w folderze cpp_bots/bin/.
Uruchomienie gry polega na wywołaniu skryptu main.py znajdującego się w głównym katalogu gry. Dokonujemy tego w klasyczny sposób (powinniśmy znajdować się w terminalu w katalogu z main.py):
python main.py
Program umożliwia 4 tryby gry:
- Gra człowieka z człowiekiem (lokalnie, w trybie "hot seat")
- Gra człowieka z człowiekiem (sieciowo)
- Gra człowieka z botem
- Starcie botów
Niezależnie od trybu gry, program za każdym razem wyświetla stan planszy w konsoli. W zależoności od rodzaju ruchu (wybieranie pionka, położenie pionka) gracz na konsoli otrzymuje odpowiednie informacje (dostępne pionki, stan planszy).
W trybie 3. oraz 4. użytkownik ma możliwość wyboru między 3 botami.
Do zrobienia pozostała część graficzna gry, a mianowicie skomunikowanie warstwy graficznej z programem.
Klara Nowaczyk 346456
Agata Rajczakowska 345398
Mikołaj Dygoń 346656
Tatiana Mikshta 344451
Wiktor Modrzewski 346200
Yurii Pryimak 343898
Daniel Boguszewski 315942
Krzysztof Piekarczyk 324527