From 8f1dc27b818c4e199ce8ac39d27c813a50ed2866 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bart=C5=82omiej=20Pluta?= Date: Fri, 20 May 2016 23:13:52 +0200 Subject: [PATCH] =?UTF-8?q?Dzia=C5=82aj=C4=85cy=20algorytm=20minimax=20z?= =?UTF-8?q?=20ci=C4=99ciami=20alfa-beta.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/board.hh | 62 ++++++++++- inc/def.hh | 8 +- inc/game.hh | 49 +++++++-- inc/minimax.hh | 45 ++++++++ inc/misc.hh | 12 +++ res/arial.ttf | Bin 0 -> 296712 bytes src/board.cpp | 239 ++++++++++++++++++++++++++++++++++++++++- src/game.cpp | 275 ++++++++++++++++++++++++++++++++++++++++++++++-- src/main.cpp | 28 +---- src/minimax.cpp | 129 +++++++++++++++++++++++ 10 files changed, 794 insertions(+), 53 deletions(-) create mode 100644 inc/minimax.hh create mode 100644 res/arial.ttf create mode 100644 src/minimax.cpp diff --git a/inc/board.hh b/inc/board.hh index b50d948..765c253 100644 --- a/inc/board.hh +++ b/inc/board.hh @@ -3,22 +3,57 @@ /* Plik zawiera implementację planszy(board) do gry w warcaby. */ +#include +#include #include #include #include "pawn.hh" +// Struktura przechowująca informacje o ruchu +struct Movement +{ + // Początek ruchu + Vector begin; + + // Koniec ruchu + Vector end; + + Movement() : begin(0, 0), end(0, 0) {} + + // Prosty konstruktor + Movement(Vector b, Vector e) : begin(b), end(e) {} + + // Operator porównania + bool operator==(const Movement& b) { return ((begin == b.begin) && (end == b.end)); } + + // Wypisywanie ruchu do terminala + void display() { std::cout << begin.x << ", " << begin.y << "\t->\t" << end.x << ", " << end.y << std::endl; } +}; + +// Klasa implementująca planszę class Board { private: // Plansza (czyli dwuwymiarowa tablica wskaźników na pionki) Pawn* board[TILES_COUNT][TILES_COUNT]; + + // Zaznaczone kafelki na mapie(ułatwienie dla gracza) + std::list selected_tiles; + public: // Konstruktor inicjujący planszę Board(); + // Konstruktor kopiujący + Board(const Board& original); + + // Tworzy pionki i układa je w początkowym ułożeniu + // według zasad gry w warcaby + void initBoard(); + // Utwórz nowy pionek na zadanej pozycji Pawn* createPawn(Vector position, Color color); @@ -26,10 +61,22 @@ public: Pawn* getPawn(Vector position); // Przesuń pionek na określoną pozycję - bool movePawn(Vector position, Vector target); + bool movePawn(Movement movement); // Czy ruch jest możliwy (czy dana pozycja jest osiągalna) - bool isMovementPossible(Vector position, Vector target); + bool isMovementPossible(Movement movement); + + // Czy bicie z danej pozycji jest możliwe + bool isPossibleBeating(Vector position); + + // Kontener możliwych bić + std::list getPossibleBeatings(Vector position); + + // Pobierz możliwe ruchy pionka + std::list getPossibleMovements(Vector position); + + // Pobierz możliwe ruchy wszystkich pionków danego koloru + std::list getPossibleMovements(Color color); // Usuń pionek z określonej pozycji Pawn deletePawn(Vector position); @@ -38,8 +85,17 @@ public: void draw(sf::RenderWindow& window); // Zaznacz pionek o zadanej pozycji - Pawn* selectPawn(Vector position); + Pawn* selectPawn(Vector position); + // Zaznacz wybrane kafelki na mapie + void selectTiles(std::list tiles) { selected_tiles = tiles; } + + // Odznacz kafelki na mapie + void deselectTiles() { selected_tiles.clear(); } + + // Wyświetl zawartość planszy na standardowym wyjściu + void display(); + // Destruktor ~Board() {} diff --git a/inc/def.hh b/inc/def.hh index 27bc682..3c6a240 100644 --- a/inc/def.hh +++ b/inc/def.hh @@ -2,11 +2,12 @@ #define DEF_HH #include +#include /* Plik zawiera definicje stałych globalnych oraz przedefiniowanie istniejących typów. */ // Tytuł gry (widoczny m.in. na pasku z tytułem okna) -//const char* GAME_TITLE = "Warcaby"; +const std::string GAME_TITLE = "Warcaby"; // Ilość pól w każdym wymiarze const int TILES_COUNT = 10; @@ -27,7 +28,10 @@ const int QUEEN_PAWN_OUTLINE_THICKNESS = 4; const int WINDOW_WIDTH = TILES_COUNT * TILE_SIZE; // Wysokość okna -const int WINDOW_HEIGHT = TILES_COUNT * TILE_SIZE; +const int WINDOW_HEIGHT = TILES_COUNT * TILE_SIZE + 30; + +// Wartość nieskończoności +const int INF = 9999; // Przedefiniowanie sf::Vector2f na RealVector typedef sf::Vector2f RealVector; diff --git a/inc/game.hh b/inc/game.hh index 145b2a3..43dfe73 100644 --- a/inc/game.hh +++ b/inc/game.hh @@ -3,6 +3,11 @@ /* Plik implementuje klasę gry, w której znajduje się m.in. główna pętla gry oraz która determinuje całą rozgrywkę. */ +#include +#include +#include +#include +#include #include #include @@ -11,6 +16,7 @@ #include "object.hh" #include "pawn.hh" #include "board.hh" +#include "minimax.hh" // Typ wyliczeniowy rozróżniający gracza od sztucznej inteligencji enum Player @@ -19,10 +25,10 @@ enum Player PL_AI }; + // Klasa gry class Game { -private: // Okno naszego programu sf::RenderWindow window; @@ -30,21 +36,27 @@ private: Board board; // Zaznaczony pionek - Pawn* selected; // może lepiej Vector??? + Vector selected; // Kolor gracza Color player_color; + + // Tura(czy gracz, czy AI) + Color round; + + // Flaga oznaczająca sekwencję ruchów(aby gracz nie mógł zmienić pionka w trakcie gry) + bool movements_sequence; - // Tura(czy gracz, czy komputer) + // Punkty gracza + int player_score; - // punkty gracza i komputera + // Punkty AI + int ai_score; - // stan gry - -public: + // AI + MiniMax minimax; - // Konstruktor inicjalizujący parametry gry i wyzwalający pętlę główną gry - Game(); +private: // Zabij pionka (doliczając do tego punkty) void killPawn(Vector position); @@ -57,14 +69,29 @@ public: // Zwróć kolor przeciwnika Color getAIColor() const { return (player_color==CL_WHITE)?CL_BLACK:CL_WHITE; } - + // Przesuń pionek na określoną pozycję uwzględniając już // przy tym zasady gry w warcaby - bool movePawn(Vector position, Vector target); + bool movePawn(Movement movement); + + // Wykonaj turę gracza (argumentem jest jedyny możliwy sposób interakcji gracza z programem + // czyli pozycja myszy w momencie kliknięcia lewego przycisku) + void executePlayerRound(sf::Vector2f mouse_position); + + // Przechwytywanie zdarzeń + void eventHandler(); + // Rysuje HUD (czyli ilość punktów etc.) + void drawHUD(); + // Główna pętla gry void loop(); +public: + + // Konstruktor inicjalizujący parametry gry i wyzwalający pętlę główną gry + Game(); + }; #endif diff --git a/inc/minimax.hh b/inc/minimax.hh new file mode 100644 index 0000000..a3a42bb --- /dev/null +++ b/inc/minimax.hh @@ -0,0 +1,45 @@ +#ifndef MINIMAX_HH +#define MINIMAX_HH + +/* Plik implementuje klasę reprezentującą strategię Minimaks */ + +#include +#include "def.hh" +#include "board.hh" + +class MiniMax +{ +private: + + // Maksymalny poziom zagłębienia algorytmu MiniMax + const int DEPTH_MAX; + + // Kolor komputera + const Color AI_COLOR; + +private: + + // Funkcja zwraca kolor kolejnego gracza z drzewa minimaks + Color getColorFromDepth(int depth); + + // Funkcja wyceniająca na zasadzie trzech obszarów + int f1(Board& board, const Color& color); +public: + + // Konstruktor przyjmuje parametry: maksymalna głębokość algorytmu MiniMaks oraz kolor pionków + // sztucznej inteligencji + MiniMax(int depth_max, Color ai_color) : DEPTH_MAX(depth_max), AI_COLOR(ai_color) {} + + // Funkcja heurystyczna + int evaluate(Board& board, const Color& color) { return f1(board, color); } + + // Algorytm MiniMax z cięciem alfa-beta (funkcja zwraca wartość najlepszego ruchu, natomiast + // poprzez referencję zwraca najlepszy ruch best_movement + int alphabeta(Board board, int depth, int alpha, int beta, Movement& best_movement); + + // Funkcja startowa algorytmu minimax z cięciem alfa-beta + Movement minimax(Board board); + +}; + +#endif diff --git a/inc/misc.hh b/inc/misc.hh index c105785..b87b40a 100644 --- a/inc/misc.hh +++ b/inc/misc.hh @@ -1,6 +1,7 @@ #ifndef MISC_HH #define MISC_HH +#include #include #include "def.hh" @@ -8,9 +9,12 @@ /* Struktura reprezentująca wektor w układzie odniesienia planszy do gier (a nie według rzeczywistych współrzędnych - pikseli). */ struct Vector { +public: unsigned int x; unsigned int y; +public: + // Konstruktor tworzący parę (_x, _y) Vector(unsigned int _x, unsigned int _y) : x(_x), y(_y) {} @@ -36,7 +40,15 @@ struct Vector Vector operator*(float a) { return Vector(a*x, a*y); } Vector operator*=(int a) { return *this = *this*a; } Vector operator*=(float a) { return *this = *this*a; } + + // Porównanie wektorów + bool operator==(Vector v) { return ((x == v.x) && (y == v.y)); } + + // Norma w przestrzeni Manhattan + int manhattanNorm() const { return abs(x) + abs(y); } }; + + #endif diff --git a/res/arial.ttf b/res/arial.ttf new file mode 100644 index 0000000000000000000000000000000000000000..12cc15c8d871b54a7d6af9d1d2f656975a3b0913 GIT binary patch literal 296712 zcmZQzWME(rXJlYtVJL73_H^Itl01ijr7(tpL3E9~i>q6pOW+;`mfQmj3=Ff}gF~H8 zd|w;Qz>*ikz`%6RD>%e0S1Xf^fu+!ffq_BJCnVUT*mbQv14CE|0|Tp$f3Ut0&wZn8 z1_s6-3=9lm0nR=lf2-}B8CY^V7#JAL!d!eK0w!gBWnhS2z`!6lB{?^-AbpE(KLdlF z0|SF_UvgQA!nA@*Wef~;6BroS4AKhHb0t^3;AUW`FkxU|i%L%{E?|&g;ACK63SeMh z5J=CdOxxV;a*lyfw1a_JU{*#-ZiQaHTp$C(%mfC88jXz9#FW!DZ&(-@7;8ZGXJn)% z3grr}Vqjq0!oa|wl95|dacWVq0|P_L0R{$<1=*=ZdFF|hW(+J58Vn4g2|4-6i5v%) z=P)ohUSMDlS(2MrQNa0_XDR~&;|&G|28F!D+|7nfLX3|-H_ zqNc*YV8l{Tlv)t<@5oCAhFlW{2Co0$uxEOfes}8w#dv<3uN=}G3?Q)RvAPzB-qtXM z@z?sl=>k?9JPZsBoD7U$9Sk6n-R_?sgR=m`ul4_o1*||KARREwssR#V)nH^`uxChS zU}a!p5Ma<}2xDMi;pO_zz|6qJz{uReIDvtcfq``vt1$xuqcntOzQ~ZqB*ekW#LdRS z1OhA!3{~w75QD+a^Ucr8XK-Lp`2UCX^1nbvV|F{nO%4o<|NsAoC}Ln{;9y{45CjP^ zFf%YPxH0=NFo0PM4FAAtK%$HcTworE&BVaR2r?VQW@d;kn=HakO-Kns-3!5}Q~49ezYa25CoWpgnl3fe*0+zf`o^Py}W24mq1P&O}f zln67F&Bvf89?QVYz{moMT^{jnFdH26;?u!wHU=gJ9`WU1HajRqh;Ih7L9rzuei+Q= zWME+UCw>{qW@O-!xCmu4G4M&;hO(I%;v`-|*(?lPlI~D8D}#h&Ae7CQ-FbqflqxWSX`Kai9tyHIG8O0R&x`~76qI0 z6wDR_i+=^PB|&;M7{P35kQxn$+hjp%G~~hJ@?f?$n5_amLn?y;!%7APh7g7fFx!_Q zpCOMSpP>Y*N`b+dA)ld$p#V%KGL$f6f>kIm6fop4Bs1tSC@{D%fW#9iG)W)sG6jZU zhJ1z`hElj~#S97zo(y?V`wST@87vtL7<3sREF-Wh92s&Lau^gCf*3Lx(it)sN*F-8 zf*4X6iWyQFiWtfmQW;Vh92trjG8qyXau`4|=?tX|ISh#mMGWZvwn9<~GBcF{q1K8a z3~XXCJS;#iuw*c0P+-tt@MXwkNM8Ln=cq*sa+N3Sg7Tk2M8`A_kC;G8u{)O2B>rg^dD3CPN;B0z(NjErc=zGbk_w zfMZvIK@IE@Uj_vRe}*)MG;o+FGUPF&FeosjGUR|mxg4w$WVRkgh=N=TN_qJV=?ozM z6fk5kRN_(1JrNiw7g)T@|7aZ653`t;l1qMHGxMzSgILCrg3M5~bfc*$6X>y_Fz;Zz{14ut8e}ilV zg&oMJAlo6KsQ`{YP$;B<^Lq|B#Y21s3Lj8tfYLq4hY+8DLL-Ht6r4LisRvYEfXoDy ziXhz}Hb^JPKIAk3D^rWXxdY@EP%6s>rvii-pt2zwTrPoJ2FfjrQrzVJgP!0p73s4+_!YPNL036RH4EYQS4CxG+;82734HP>t7lCY2U;w!tlsZ5u zDHWU&K)wK(2QfX7p#WSrfJ#J=3@9~0Vg)&MLqZrN56bx!43L-s#Yzr1zkp%_l=?t% zl?k>}0bJXF!U3WJ6gMC@g31F#O#})}WdDKE5-2p1z%>&nHXx-GB5kHJ6f%^8OLI_+ zfYLU|#SkB+fpZ+lmQ)6i8$l{S=?+wbR)t)n>w!zBTn2rx`do$_27QKHh7yK6hC~KX9D;bo4DsL+2~tx+Oa`e0)vDC9 z0aPA<+7KY0q%t6E@ni632x0JKaAWXfaAt4>v;7(Tz%_syg93vOSlpGtk0F@Bl|g~Q zk-?oIh{2V?mBE(*BpSlN%fJQ3pjHhi{6VPzHLZbS0F>TfISmq`pmtFaxa|YViJ(#* zycw}9GLIp8`DRAz!wC&*S%U78AR8GuAfz~xRP)HYD90mm~&QZ3M9s{<5ppqC=_9lVbfe=?iLKBqUL9T*?3wjKxgTo9pq(He;51b-EDFcxzFl~l} z2`H?~z~u_4bV-7iVW2t`6z(PP_7}R{pt3TQArGt`QVPLh9uXIicmjn1#80472oyS? z*aVePpfm_-t)zkD8dPS3%4d)+kli3v=y47z_d)d}sI&r^1}fWN_JT?hP-w!+i9~Q4 z85FLtHZrKhgQy0@EiBza!WNNAaD@~ooI&L}D7}KpJ%~>b=9Pm>;cReCiYQ4z^#LSZ zAXMfvl!IHJ1q`JOpb!VeLQTwQa7j^2DOABWgDml&1Wb8=QfDRAYY@W zAy7F0G82^Z(S3wSAD-a$9mHh{42YNmmA)VwL3Iu&MZv-pVmGLF0*X~oyAD!XLregL zDsp%$FhImXaSdv%f_fmJkOSqYG6qoFs2r&r0EI88PRj$gud&BI%sh|@AhnP-0LV;4 z9s|WBD9@n#8dNrbTnH+YK_E5(l2-TP!H~g_!GyttL4g6pHfJzqFbC^0V=!d^_2MkSHjq}=k)|5C?gh0e zL3v)E0X6jC^GGNo7H*f^&XRL4HwUNoIbYLP1Wlo`Oqa zNg@G7`XIv;g7b4qLE4HHJoA$E6bvmb4Rj4HEsgXP9CLCMf-=)HN{SVNQj1fI%2HDt zi!u{)f>P5@HNY2kINzBYER>;jSN>#`x%}vb9EG|(<&PXguOfE?+$}BF)OfFU^ z$w{g-obXAkUZPr7DzXmSli~ zAvZri1*97kBsq!2B?>92$%!ec#W1mw^3=SN%+!($h2+${lG36|Jq2(`=a;1xCFbNP zloX{VmgJ`9m4GxPmllN+IXS6C5VvOLDdgrCmndZBrIZ$zfYOCR zaY>GEly2= zgl1}CDaf&<$)NC8NXsu$C`qj-Q7BF=DFLOE%shpn)Pnq?l42cDG!>`jm4I_zv5rD+ zVtQg#W?pKsLTX8}4kXa>ixg5aiwklRD?wI(5^Y{;d2vBvL26O4jzVHeS!z*9W--WM zP`WKB%FoRQXGpz_l9B=|ef{$Ca=qOAynK+e^^)^*^)pIxbM$jdK=T9oxyA8`pupDy z2@^DhYEdpYjV3DOWG1KP6{jjBrWd8Af>NTMLS%laLPla)szQDeC>y1wD3qW$29!F> zLCGmKvm_%G6w*bh$t5|J3TZ|8xrp)+6ovWesbD4G3hw#V|*u7VE)-0XQpK)!z@AgTp_(EF%O*DKzb8XQZhklA~8py2wWoTfWor~oSyR2AVGrc zsGQ8)Opu34@*(QV^NX^JA&C^6oGbH7ixl$9^Ark7lX5bPGeC*2v^W(K+_{OB3VHb@ z3d#8el?sr=TT+w>3L#XBz~SMU2C@MXMWE8Fur#$8wo1ziOLLqii2 z1p`BKV{-*_GgC`bOI|J?clRnhf;C#s72W}jL8nQVIpn=RvMqY+ghAf6W zhL_+$_#*ItUk*bsxbp_;V1fo_QkZ8kZ)D!fyq|e5^G@bn%xmBS=ZL|c(INfOA$>@b z8Pp+!bbCO}e^8TobVwi6^#XM@Al*Pvr)_jdAGI3?8tMQIbAX1WK*O*g8WdXj;I1*O zyEi(d51Md<3^L?1j1K98${En$=;)CC=#V~WDgi!(!7w_c56T;$nr3uJKa*i}NPl!l zUjaP5o{BPI1?mZb2G~c3^hbyEK})HI?T|i7&mS=gkO-avK=5K-y6*dSG@C}RTP zQ31GGkUX*(c?^}vax8KzhAiGJ?ku(}-Yk}I8ITR2ENBI-3}huLXAo$`A_D_g1Op4F z83O~O1tS9kJA(y79b-LXKjS3Eg^U{*?=b#niex&@bdu>VGb1xIGbgh$a~*RRa}V=E z=5s7OEdDGpEb%OpS*EkhWm(L!nPoT2O_rCeJ6R92zGD5t#=|DfCeLQY7Q~j#mdjSi zR>#)HHiK;m+e)_eY-iZ6vi+26mHVl{uOO-*r=X;url6-_pkS;q?F{9G?lcKJd_fZQk9vM z1(X$48C026c~k{dMN}nJWmHvEbyQ7MZB%nq8&q3VJ5+mAC#x=0U8A~5b(iWM)g!8> zRnM#5RDGsqqvoLIq?VwTtd^#h{ety{#0#qrOdkw?GyPWhZT8#dx7}~Y-!8xXe@FhV z{oVb0>hJ%5lK$HN{q*n8|3BbW)d~y?z#+GQaXsT%#$Qa4Ovji`GTmTifQMWQa}RSL z^I{f87Cx3hmN=FPEYnzKu`FU)$FhUv2FnZ94XnFaFR*@qhMXds16u;tkozFlAh$q) zM?qLYTtPuWO+ib+K*31C5*l(@3iS$$6_zWkLJ7HG#c0I|@Q@Q!5>=8^l7og^f>H`N z

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�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

~VHT7EO_2%;S%U8N0Nqau+L@^W8v6tl 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 + } } Pawn* Board::selectPawn(Vector position) @@ -111,3 +141,206 @@ Pawn* Board::selectPawn(Vector position) // Zwracamy NULL, bo pionek nie istnieje return NULL; } + + +bool Board::isPossibleBeating(Vector position) +{ + // Pobieramy wskaźnik do pionka znajdującego się na zadanej pozycji + Pawn* position_pawn = getPawn(position); + + // Jeżeli go tam nie ma, zwracamy false + if(!position_pawn) return false; + + // Zabezpieczenie przed przekroczeniem indeksów + if((getPawn(position)->getPosition().x > 1 && + getPawn(position)->getPosition().y > 1) && + (getPawn(position)->getPosition().x < TILES_COUNT-1 && + getPawn(position)->getPosition().y < TILES_COUNT-1)) + + // Jeżeli na polu przesuniętym o wektor [1,1] jest pionek, i jest on koloru przeciwnego + // a za pole zanim jest puste, zwracamy true + if(getPawn(position+Vector(1, 1)) && + (getPawn(position+Vector(1, 1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(2, 2)))) return true; + + // ... analogicznie w pozostałych kierunkach + + // Zabezpieczenie przed przekroczeniem indeksów + if((getPawn(position)->getPosition().x > 1 && + getPawn(position)->getPosition().y > 1) && + (getPawn(position)->getPosition().x < TILES_COUNT-1 && + getPawn(position)->getPosition().y < TILES_COUNT-1)) + + if(getPawn(position+Vector(1, -1)) && + (getPawn(position+Vector(1, -1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(2, -2)))) return true; + + // Zabezpieczenie przed przekroczeniem indeksów + if(getPawn(position)->getPosition().x > 1 && + getPawn(position)->getPosition().y > 1) + + if(getPawn(position+Vector(-1, 1)) && + (getPawn(position+Vector(-1, 1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(-2, 2)))) return true; + + // Zabezpieczenie przed przekroczeniem indeksów + if(getPawn(position)->getPosition().x > 1 && + getPawn(position)->getPosition().y > 1) + + if(getPawn(position+Vector(-1, -1)) && + (getPawn(position+Vector(-1, -1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(-2, -2)))) return true; + + return false; + +} + +std::list Board::getPossibleBeatings(Vector position) +{ + // Tworzymy nowy kontener na pozycje + std::list beatings; + + // Pobieramy wskaźnik do pionka znajdującego się na zadanej pozycji + Pawn* position_pawn = getPawn(position); + + // Jeżeli go tam nie ma, zwracamy pusty kontener + if(!position_pawn) return beatings; + + // Jeżeli na polu przesuniętym o wektor [1,1] jest pionek, i jest on koloru przeciwnego + // a za pole zanim jest puste, dorzucamy tą pozycję do kontenera + if(position.x < TILES_COUNT-1 && position.y < TILES_COUNT-1) + if(getPawn(position+Vector(1, 1)) && + (getPawn(position+Vector(1, 1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(2, 2)))) beatings.push_back(Movement(position, position+Vector(2, 2))); + + // ... analogicznie w pozostałych kierunkach + if(position.x < TILES_COUNT-1 && position.y > 1) + if(getPawn(position+Vector(1, -1)) && + (getPawn(position+Vector(1, -1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(2, -2)))) beatings.push_back(Movement(position, position+Vector(2, -2))); + + if(position.x > 1 && position.y < TILES_COUNT-1) + if(getPawn(position+Vector(-1, 1)) && + (getPawn(position+Vector(-1, 1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(-2, 2)))) beatings.push_back(Movement(position, position+Vector(-2, 2))); + + if(position.x > 1 && position.y > 1) + if(getPawn(position+Vector(-1, -1)) && + (getPawn(position+Vector(-1, -1))->getColor() != position_pawn->getColor()) && + (!getPawn(position+Vector(-2, -2)))) beatings.push_back(Movement(position, position+Vector(-2, -2))); + + // Zwracamy kontener + return beatings; + +} + +std::list Board::getPossibleMovements(Vector position) +{ + // Jeżeli są możliwe bicia, zwróć je + if(isPossibleBeating(position)) return getPossibleBeatings(position); + + std::list movements; + + // Jeżeli pionek nie istnieje, zwróć pustą listę + if(!getPawn(position)) return movements; + + // Jeżeli to ruch czarnego pionka + if(getPawn(position)->getColor() == CL_BLACK) + { + // Zabezpieczenie przed przekroczeniem indeksów + if(getPawn(position)->getPosition().x > 0 && + getPawn(position)->getPosition().y > 0) + + // Jeżeli miejsce 1 jest wolne, wrzuć do listy + if(!getPawn(position+Vector(1, 1))) movements.push_back(Movement(position, position+Vector(1, 1))); + + // Zabezpieczenie przed przekroczeniem indeksów + if(getPawn(position)->getPosition().x > 0 && + getPawn(position)->getPosition().y > 0) + + // Jeżeli miejsce 2 jest wolne, wrzuć do listy + if(!getPawn(position+Vector(-1, 1))) movements.push_back(Movement(position, position+Vector(-1, 1))); + } + + // Jeżeli to ruch białego pionka + if(getPawn(position)->getColor() == CL_WHITE) + { + // Zabezpieczenie przed przekroczeniem indeksów + if(getPawn(position)->getPosition().x > 1 && + getPawn(position)->getPosition().y > 1) + + // Jeżeli miejsce 1 jest wolne, wrzuć do listy + if(!getPawn(position+Vector(-1, -1))) movements.push_back(Movement(position, position+Vector(-1, -1))); + + // Jeżeli miejsce 2 jest wolne, wrzuć do listy + if(position.y > 1) + if(!getPawn(position+Vector(1, -1))) movements.push_back(Movement(position, position+Vector(1, -1))); + } + return movements; +} + +std::list Board::getPossibleMovements(Color color) +{ + std::list movements; + + // Dla każdych pionków + for(int x = 0; x < TILES_COUNT; ++x) + for(int y = 0; y < TILES_COUNT; ++y) + { + // Jeżeli to jest pionek + if(board[x][y]) + { + // Jeżeli jest to pionek o który nam chodzi + if(board[x][y]->getColor() == color) + + // Dodaj wszystkie jego możliwe ruchy do listy ruchów + for(auto m: getPossibleMovements(Vector(x, y))) movements.push_back(m); + } + } + + return movements; +} + +void Board::display() +{ + // Wyświetl poziomą linię + for(int i=0; igetColor() == CL_WHITE) std::cout << " O "; + else std::cout << " @ "; + } else std::cout << " "; + } + std::cout << "|" << std::endl; + + // Pozioma linia + for(int i=0; igetColor()); + +} diff --git a/src/game.cpp b/src/game.cpp index e555b9e..29365ea 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -2,31 +2,288 @@ Game::Game() : - window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT, 32), "Warcaby", sf::Style::Close), - selected(NULL), - player_color(CL_WHITE) + selected(TILES_COUNT+1, TILES_COUNT+1), // Brak zaznaczenia + player_color(CL_WHITE), // Domyślny kolor gracza + round(CL_WHITE), // Pierwszy ruch mają białe pionki + movements_sequence(false), // Ciąg kolejnych ruchów + player_score(0), // Wyzerowana ilość punktów gracza + ai_score(0), // Wyzerowana ilość punktów AI + minimax(7, getAIColor()) // Poziom AI oraz kolor AI { - // Kod inicjalizujący + // Ustawienia antyaliasingu + sf::ContextSettings settings; + settings.antialiasingLevel = 8; + + // Utworzenie okna + window.create(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT, 32), GAME_TITLE, sf::Style::Close, settings); + + // Wygenerowanie planszy startowej + board.initBoard(); + // Pętla główna loop(); } void Game::killPawn(Vector position) { + // Dodaj odpowiednio punkty + if(board.getPawn(position)->getColor() == getPlayerColor()) ++ai_score; + else ++player_score; + + // Usuń pionek + board.deletePawn(position); } Player Game::getPlayer(Vector position) { - // - return PL_HUMAN; + if(board.getPawn(position)->getColor() == getPlayerColor()) return PL_HUMAN; + else return PL_AI; } -bool Game::movePawn(Vector position, Vector target) +bool Game::movePawn(Movement movement) { - // - return true; + // Pomocnicze wektory + Vector& position = movement.begin; + Vector& target = movement.end; + + // Jeżeli pionek startowy nie istnieje + if(!board.getPawn(position)) return false; + + // Jeżeli ruch należy do drugiego gracza + if(board.getPawn(position)->getColor() != round) return false; + + // Jeżeli kafelek jest zajęty + if(board.getPawn(target)) return false; + + // Jeżeli to ruch czarnego pionka + if(board.getPawn(position)->getColor() == CL_BLACK) + { + // Jeżeli jest to zwykły ruch na ukos + if((target-position == Vector(1, 1)) || // Jeżeli jest to ruch o wektor [1, 1] + (target-position == Vector(-1, 1))) // --//-- + return board.movePawn(Movement(position, target)); // Rusz pionek + } + + // Jeżeli to ruch białego pionka + if(board.getPawn(position)->getColor() == CL_WHITE) + { + // Jeżeli jest to zwykły ruch na ukos + if((target-position == Vector(-1, -1)) || // Jeżeli jest to ruch o wektor [1, 1] + (target-position == Vector(1, -1))) // --//-- + return board.movePawn(Movement(position, target)); // Rusz pionek + } + + // Jeżeli jest to przeskok nad drugim graczem + if((target-position == Vector(-2, -2)) && // Jeżeli jest to ruch o wektor [-2, -2] + (board.getPawn(position+Vector(-1, -1))) && // Jeżeli istnieje pionek na polu przesuniętym o [-1, -1] + (board.getPawn(position+Vector(-1, -1))->getColor() != board.getPawn(position)->getColor())) // Jeżeli jest to gracz o innym kolorze + { + // Zabij zbijanego pionka + killPawn(position+Vector(-1, -1)); + + // Przesuń pionek + return board.movePawn(Movement(position, target)); + } + + if((target-position == Vector(-2, 2)) && // Jeżeli jest to ruch o wektor [-2, -2] + (board.getPawn(position+Vector(-1, 1))) && // Jeżeli istnieje pionek na polu przesuniętym o [-1, -1] + (board.getPawn(position+Vector(-1, 1))->getColor() != board.getPawn(position)->getColor())) // Jeżeli jest to gracz o innym kolorze + { + // Zabij zbijanego pionka + killPawn(position+Vector(-1, 1)); + + // Przesuń pionek + return board.movePawn(Movement(position, target)); + } + + if((target-position == Vector(2, -2)) && // Jeżeli jest to ruch o wektor [-2, -2] + (board.getPawn(position+Vector(1, -1))) && // Jeżeli istnieje pionek na polu przesuniętym o [-1, -1] + (board.getPawn(position+Vector(1, -1))->getColor() != board.getPawn(position)->getColor())) // Jeżeli jest to gracz o innym kolorze + { + // Zabij zbijanego pionka + killPawn(position+Vector(1, -1)); + + // Przesuń pionek + return board.movePawn(Movement(position, target)); + } + + if((target-position == Vector(2, 2)) && // Jeżeli jest to ruch o wektor [-2, -2] + (board.getPawn(position+Vector(1, 1))) && // Jeżeli istnieje pionek na polu przesuniętym o [-1, -1] + (board.getPawn(position+Vector(1, 1))->getColor() != board.getPawn(position)->getColor())) // Jeżeli jest to gracz o innym kolorze + { + // Zabij zbijanego pionka + killPawn(position+Vector(1, 1)); + + // Przesuń pionek + return board.movePawn(Movement(position, target)); + } + + return false; +} + +void Game::executePlayerRound(sf::Vector2f mouse_position) +{ + // Konwersja pozycji myszy na współrzędne kafelka + Vector position(mouse_position); + + // Pobieramy informacje o pionku(lub jego braku) z interesującego nas pola + Pawn* ptr = board.getPawn(position); + + // Jeżeli tura należy do gracza, pionek istnieje i należy do gracza oraz ruch nie został jeszcze rozpoczęty: + if((round == getPlayerColor()) && ptr && (ptr->getColor() == getPlayerColor()) && (!movements_sequence)) + { + // Zaznaczamy pionek i pobieramy do niego wskaźnik + ptr = board.selectPawn(Vector(position)); + + // Pobieramy jego pozycję i zapisujemy do zmiennej przechowującej zaznaczony pionek + selected = ptr->getPosition(); + + // Zaznacz dozwolone kafelki na mapie + std::list possible_tiles; // Lista dozwolonych kafelków + for(const auto& m: board.getPossibleMovements(selected)) // Pobieramy dozwolone kafelki docelowe z dozwolonych ruchów + possible_tiles.push_back(m.end); + board.selectTiles(possible_tiles); // Zaznaczamy je na planszy + } + + // Jeżeli pionek nie istnieje w danym miejscu (czyli kliknięto na puste pole), + // to znaczy, że jest to ruch docelowy (czyli należy pionek przesunąć): + if(!ptr) + { + // Jeżeli pionek jest poprawnie zaznaczony + if(board.getPawn(selected)) + { + // Pomocnicza flaga + bool move_is_possible = false; + + // Jeżeli możliwe jest bicie + if(board.isPossibleBeating(selected)) + { + // Pobieramy listę możliwych bić + std::list beatings = board.getPossibleBeatings(selected); + + // Jeżeli gracz próbuje bić, zezwól na ruch (czyli bicie jest obowiązkowe) + if(find(beatings.begin(), beatings.end(), Movement(selected, position)) != beatings.end()) move_is_possible = true; + } + + // Jeżeli nie jest możliwe bicie, to zezwól na ruch + else move_is_possible = true; + + // Jeżeli zezwolono na ruch + // przesuwamy pionek o ile to możliwe (kliknięte miejsce = position jest naszym docelowym kafelkiem) + if(move_is_possible && movePawn(Movement(selected, position))) + { + // Ustaw sekwencję ruchów + movements_sequence = true; + + // Jeżeli się udało, to aktualizujemy pozycję zaznaczonego pionka + selected = position; + + // Jeżeli już nie ma możliwości bicia (bicie obowiązkowe), kończymy turę + if(!board.isPossibleBeating(selected)) + { + // Kończymy sekwencję ruchów + movements_sequence = false; + + // Odznaczamy pionek + board.getPawn(selected)->deselect(); + + // Odznaczamy kafelki (EXPERIMENTAL) + board.deselectTiles(); + + // i kończymy turę + round = getAIColor(); + } + + // W przeciwnym razie zaznaczamy na mapie dozwolone kafelki + else + { + board.deselectTiles(); + std::list possible_tiles; // Lista dozwolonych kafelków + for(const auto& m: board.getPossibleMovements(selected)) // Pobieramy dozwolone kafelki docelowe z dozwolonych ruchów + possible_tiles.push_back(m.end); + board.selectTiles(possible_tiles); // Zaznaczamy je na planszy + } + + } + } + } +} + +void Game::eventHandler() +{ + // Kontener na zdarzenia + sf::Event event; + + // Kolejka zdarzeń + while(window.pollEvent(event)) + { + // Obsługa zamykania okna gry + if(event.type == sf::Event::Closed) window.close(); + + // Obsługa myszy + if(event.type == sf::Event::MouseButtonPressed) + { + // Lewy klawisz + if(event.mouseButton.button == sf::Mouse::Left) + + // Wykonaj turę gracza + executePlayerRound(sf::Vector2f(event.mouseButton.x, event.mouseButton.y)); + + } + } } void Game::loop() { + // Nieskończona pętla główna gry + while(window.isOpen()) + { + // Przechwytywanie zdarzeń + eventHandler(); + + // Czyszczenie okna + window.clear(sf::Color::Black); + + // Rysowanie planszy + board.draw(window); + + // Rysuj HUD + drawHUD(); + + // Wyświetlenie ekranu + window.display(); + + // Jeżeli teraz tura należy do AI + if(round == getAIColor()) + { + // Ruch AI + movePawn(minimax.minimax(board)); + + // Ustaw turę na gracza + round = getPlayerColor(); + } + } } + +void Game::drawHUD() +{ + sf::Font font; font.loadFromFile("res/arial.ttf"); + + std::stringstream player_score_ss; player_score_ss << "Gracz: " << player_score; + std::stringstream ai_score_ss; ai_score_ss << "AI: " << ai_score; + + sf::Text player_score_text(player_score_ss.str(), font); + sf::Text ai_score_text(ai_score_ss.str(), font); + + player_score_text.setCharacterSize(24); + player_score_text.setColor(sf::Color::White); + player_score_text.setPosition(sf::Vector2f(10, TILES_COUNT*TILE_SIZE)); + + ai_score_text.setCharacterSize(24); + ai_score_text.setColor(sf::Color::White); + ai_score_text.setPosition(sf::Vector2f(TILES_COUNT*TILE_SIZE - 70, TILES_COUNT*TILE_SIZE)); + + window.draw(player_score_text); + window.draw(ai_score_text); +} + diff --git a/src/main.cpp b/src/main.cpp index f4decdc..0402dcd 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,33 +7,11 @@ #include "../inc/pawn.hh" #include "../inc/board.hh" #include "../inc/game.hh" +#include "../inc/minimax.hh" int main() { - /* sf::ContextSettings settings; - settings.antialiasingLevel = 8; - sf::RenderWindow window(sf::VideoMode(WINDOW_WIDTH, WINDOW_HEIGHT, 32), "Warcaby", sf::Style::Close, settings); - Board board; - Pawn* selected; - while(window.isOpen()) - { - sf::Event event; - while(window.pollEvent(event)) - { - if(event.type == sf::Event::Closed) window.close(); - if(event.type == sf::Event::MouseButtonPressed) - { - if(event.mouseButton.button == sf::Mouse::Left) - { - Pawn* tmp = board.selectPawn(Vector(sf::Vector2f(event.mouseButton.x, event.mouseButton.y))); - if(tmp) selected = tmp; - else board.movePawn(selected->getPosition(), Vector(sf::Vector2f(event.mouseButton.x, event.mouseButton.y))); - } - } - } - window.clear(sf::Color(255, 255, 255)); - board.draw(window); - window.display(); - }*/ + Game game; + return 0; } diff --git a/src/minimax.cpp b/src/minimax.cpp new file mode 100644 index 0000000..e519436 --- /dev/null +++ b/src/minimax.cpp @@ -0,0 +1,129 @@ +#include "../inc/minimax.hh" + + +int MiniMax::f1(Board& board, const Color& color) +{ + // Wycena + int value = 0, tmp_value; + + // Wskaźnik na aktualnie oceniany pionek + Pawn* ptr = NULL; + + + // Przeglądamy całą planszę + for(int x = 0; xisQueen()) tmp_value = 10; + else tmp_value = 1; + + // Jeżeli pionek należy do obszaru III -- waga 3 + if(((ptr->getPosition().x >= 3) && (ptr->getPosition().y >= 3)) && + ((ptr->getPosition().x < (TILES_COUNT-3)) && (ptr->getPosition().y < (TILES_COUNT-3)))) + tmp_value *= 3; + + // Jeżeli pionek należy do obszaru II -- waga 2 + else if(((ptr->getPosition().x >= 2) && (ptr->getPosition().y >= 2)) && + ((ptr->getPosition().x < (TILES_COUNT-2)) && (ptr->getPosition().y < (TILES_COUNT-2)))) + tmp_value *= 2; + + // W przeciwnym wypadku, zostaje waga 1 + + // Jeżeli NIE jest to pionek należący do gracza zdefiniowanego kolorem color + // przemnażamy przez -1 + if(ptr->getColor() != color) tmp_value *= -1; + + // Dodajemy tmp_value do wyceny + value += tmp_value; + } + } + + // Zwracamy wycenę + return value; +} + +Color MiniMax::getColorFromDepth(int depth) +{ + // Dla parzystych głębokości ruch należy do AI + if(depth%2) return AI_COLOR; + + // Dla nieparzystych -- do gracza + else + { + if(AI_COLOR == CL_WHITE) return CL_BLACK; + else return CL_WHITE; + } +} + +int MiniMax::alphabeta(Board board, int depth, int alpha, int beta, Movement& best_movement) +{ + // Kolor aktualnego gracza + Color color = getColorFromDepth(depth); + + // Jeżeli jest to liść lub korzeń + if((depth == DEPTH_MAX) || (depth == 0)) return evaluate(board, color); + + + // Jeżeli jest teraz ruch przeciwnika + if(color != AI_COLOR) + { + // Dla każdego potomka + for(auto& m: board.getPossibleMovements(color)) + { + // Tworzymy nowy stan gry + Board new_board(board); + + // Wykonujemy ruch + new_board.movePawn(m); + + // Pobieramy wartość MIN (czyli gracz minimalizuje zysk AI) + beta = std::min(beta, alphabeta(new_board, depth+1, alpha, beta, best_movement)); + + // Jeżeli alfa >= beta odcinamy gałąź alpha + if(alpha >= beta) break; + } + } + + // Jeśli jest teraz ruch AI + else + + // Dla każdego potomka + for(auto& m: board.getPossibleMovements(color)) + { + // Tworzymy nowy stan gry + Board new_board(board); + + // Wykonujemy ruch + new_board.movePawn(m); + + // Pobieramy wartość MAX (czyli AI maksymalizuje własny zysk) + alpha = std::max(alpha, alphabeta(new_board, depth+1, alpha, beta, best_movement)); + + // Zwracamy w referencji ruch (dążymy do tego, aby na poziomie głębokości = 1 mieć + // ruch, za pomocą którego doszliśmy do najlepszego rozwiązania według strategii minimax) + best_movement = m; + + // Jeżeli alfa >= beta odcinamy gałąź beta + if(alpha >= beta) break; + } + + // Zwracamy wartość najlepszego ruchu + return alpha; +} + +Movement MiniMax::minimax(Board board) +{ + // Tworzymy bufor na ruch + Movement best_movement; + + // Pobieramy algorytmem minimax z cięciem alfa-beta najlepszy ruch + alphabeta(board, 1, -INF, INF, best_movement); + + // Zwracamy najlepszy ruch + return best_movement; +}