#include #include #include"TTT_PlayGround.hpp" #include"TTT_Players.hpp" using namespace std; tttPlayGround::tttPlayGround(TTT_Player *one, TTT_Player *two) { player[0]=one; player[1]=two; reset(); } void tttPlayGround::setPlayer(int no, TTT_Player *p) { if((no==0)||(no==1)) player[no]=p; } bool tttPlayGround::getPlayground(char playersCopy[3][3]) const { if(playersCopy==nullptr) return false; for(int i=0;i<3;i++) for(int j=0;j<3;j++) playersCopy[i][j]=playground[i][j]; return true; } bool tttPlayGround::check() { int pr,pc,pd1=0,pd2=0; int v=0; for (int i=0;i<3;i++){ pr=pc=0; for (int j=0;j<3;j++){ if (playground[i][j]==1) pr+=1; if (playground[i][j]==2) pr+=10; if (playground[j][i]==1) pc+=1; if (playground[j][i]==2) pc+=10; } // fine for j if (playground[i][i]==1) pd1+=1; if (playground[i][2-i]==1) pd2+=1; if (playground[i][i]==2) pd1+=10; if (playground[i][2-i]==2) pd2+=10; if ((pr==3)||(pc==3)||(pd1==3)||(pd2==3)) v=1; if ((pr==30)||(pc==30)||(pd1==30)||(pd2==30)) v=2; if (v>0) break; } // fine for i vincitore=v; return v!=0; // restituisce true se la partita รจ stata vinta. } void tttPlayGround::show() { int iconNumber=0; cout << "+---+"<move(m)) return false; i=m.row; j=m.col; if (playground[i][j]!=0||counter==9) return false; playground[i][j]=prossimoG; counter++; prossimoG=3-prossimoG; check(); return true; }