#include #include #include"TTT_Players.hpp" #include"TTT_PlayGround.hpp" using namespace std; bool TTT_HumanPlayer::move(TTT_Move &m) { int i, j; cout << endl << "Inserisci riga e colonna (-1 -1 per terminare):"; cin >> i >> j; if(i==-1) return false; m.row=i; m.col=j; return true; } bool TTT_FirstFree::move(TTT_Move &m) { if (!match->getPlayground(myPlayground)) return false; // qualcosa è andata storta for(int i=0;i<3;i++) for(int j=0;j<3;j++) if(myPlayground[i][j]==0) { m.row=i; m.col=j; return true; } return false; // nessuna cella libera } TTT_RandomPlayer::TTT_RandomPlayer(int ID, tttPlayGround *m): TTT_AutoPlayer(ID,m), seed(0) { } TTT_RandomPlayer::TTT_RandomPlayer(int ID, tttPlayGround *m, int s): TTT_AutoPlayer(ID,m) { reset(s); } void TTT_RandomPlayer::reset(int s) { seed=s; srand(s); } bool TTT_RandomPlayer::move(TTT_Move &m) { int i,j,count=0; if (!match->getPlayground(myPlayground)) return false; // qualcosa è andata storta do { i=rand()%3; j=rand()%3; if(myPlayground[i][j]==0) { m.row=i; m.col=j; return true; } count++; } while(count