Dodanie 'warcaby-zaliczenie.txt'

This commit is contained in:
Arkadiusz Hypki 2023-05-12 10:59:27 +02:00
parent d788e04364
commit 39f0c0cdd3
1 changed files with 25 additions and 0 deletions

25
warcaby-zaliczenie.txt Normal file
View File

@ -0,0 +1,25 @@
Zasady zaliczenia projekty "Warcaby", albo jakiegokolwiek innego projektu, którego złożoność nie jest mniejsza niż właśnie "Warcaby".
Zasady gry w warcaby:
* zasady klasyczne (https://pl.wikipedia.org/wiki/Warcaby)
* plansza 8x8, po 12 pionów
* białe zaczynają
* bicie pionem następuje przez przeskoczenie sąsiedniego piona (lub damki) przeciwnika na pole znajdujące się tuż za nim po przekątnej (pole to musi być wolne)
* piony mogą bić zarówno do przodu, jak i do tyłu
* w jednym ruchu wolno wykonać więcej niż jedno bicie tym samym pionem, przeskakując przez kolejne piony lub damki przeciwnika.
* bicia są obowiązkowe. Kiedy istnieje kilka możliwych bić, gracz musi wykonać wszystkie. Podczas bicia nie można przeskakiwać więcej niż jeden raz przez ten sam pion lub damkę. Za niezbicie pionka, pionek jest tracony.
* pion, który dojdzie do ostatniego rzędu planszy, staje się damką, przy czym jeśli w jednym ruchu w wyniku wielokrotnego bicia przejdzie przez ostatni rząd, ale nie zakończy na nim ruchu, to nie staje się damką i kończy ruch jako pionek.
* damki mogą poruszać się w jednym ruchu o dowolną liczbę pól do przodu lub do tyłu po przekątnej, zatrzymując się na wolnych polach.
* bicie damką jest możliwe z dowolnej odległości po linii przekątnej i następuje przez przeskoczenie piona (lub damki) przeciwnika, za którym musi znajdować się co najmniej jedno wolne pole damka przeskakuje na dowolne z tych pól i może kontynuować bicie na tej samej lub prostopadłej linii.
Dodatkowe wymagania, albo wyjaśnienia dla projektu pisanego w C++, implementującego Warcaby (lub równoważny projekt):
* ocenie podlega zrozumienie podejścia programowania obiektowego do rozwiązania problemu. To najważniejszy punkt.
* ocenie podlega czystość kodu, przejrzystość, formatowanie, sposób korzystania z dobrodziejstw podejścia obiektowego, łatwość zrozumienia kodu dla osób postronnych (czyli mnie)
* nie oceniam stopnia złożoności algorytmu decydującego o następnym ruchu. Nie ma wymagania, że zaimplementowane warcaby muszą "pokonać" człowieka. Warcaby muszą jednak wykonywać ruchy formalnie poprawne, nie mogę wykonywać zabronionych operacji. Ruchy nie muszą być "mądre", ale muszą być poprawne.
* ustalamy maksymalny czas na jeden ruch na 15 sekund. Niech to będzie jakaś stała w kodzie, aby w razie potrzeby można było ją łatwo zmienić.
* zamiast projektu Warcaby można zaimplementować dowolny inny, ale jego złożoność musi być przynajmniej taka sama jak gry w Warcaby. Dla pewności, proszę to ze mną skonsultować.
Zaliczenie:
* zaliczenie odbywa się na ostatnich zajęciach 16 czerwca (23 czerwca nie mamy już zajęć).