
#include "tahta.h"
#include <iostream>

using namespace std;

Tahta::Tahta(){
	sira = 1;
}

int Tahta::kazandi(){
	if((tahta[0][0].getSembol()==1 &&tahta[0][1].getSembol()==1 &&tahta[0][2].getSembol()==1 )
		||(tahta[1][0].getSembol()==1 &&tahta[1][1].getSembol()==1 &&tahta[1][2].getSembol()==1 )
		||(tahta[2][0].getSembol()==1 &&tahta[2][1].getSembol()==1 &&tahta[2][2].getSembol()==1 )
		||(tahta[0][0].getSembol()==1 &&tahta[1][0].getSembol()==1 &&tahta[2][0].getSembol()==1 )
		||(tahta[0][0].getSembol()==1 &&tahta[1][0].getSembol()==1 &&tahta[2][0].getSembol()==1 )
		||(tahta[0][1].getSembol()==1 &&tahta[1][1].getSembol()==1 &&tahta[2][1].getSembol()==1 )
		||(tahta[0][2].getSembol()==1 &&tahta[1][2].getSembol()==1 &&tahta[2][2].getSembol()==1 )
		||(tahta[0][0].getSembol()==1 &&tahta[1][1].getSembol()==1 &&tahta[2][2].getSembol()==1 )
		||(tahta[0][2].getSembol()==1 &&tahta[1][1].getSembol()==1 &&tahta[2][0].getSembol()==1 ))
		return 1;
	else if((tahta[0][0].getSembol()==2 &&tahta[0][1].getSembol()==2 &&tahta[0][2].getSembol()==2 )
		||(tahta[1][0].getSembol()==2 &&tahta[1][1].getSembol()==2 &&tahta[1][2].getSembol()==2 )
		||(tahta[2][0].getSembol()==2 &&tahta[2][1].getSembol()==2 &&tahta[2][2].getSembol()==2 )
		||(tahta[0][0].getSembol()==2 &&tahta[1][0].getSembol()==2 &&tahta[2][0].getSembol()==2 )
		||(tahta[0][0].getSembol()==2 &&tahta[1][0].getSembol()==2 &&tahta[2][0].getSembol()==2 )
		||(tahta[0][1].getSembol()==2 &&tahta[1][1].getSembol()==2 &&tahta[2][1].getSembol()==2 )
		||(tahta[0][2].getSembol()==2 &&tahta[1][2].getSembol()==2 &&tahta[2][2].getSembol()==2 )
		||(tahta[0][0].getSembol()==2 &&tahta[1][1].getSembol()==2 &&tahta[2][2].getSembol()==2 )
		||(tahta[0][2].getSembol()==2 &&tahta[1][1].getSembol()==2 &&tahta[2][0].getSembol()==2 ))
		return 2;
	else
		return 0;
	
}
void Tahta::oyna(int x,int y,int sira){
	
    	if(tahta[x][y].getSembol()==0){
			tahta[x][y] = hamle(sira);
			
		}
		else
			cout << "bu koordinata sembol yerlestirilmistir"<<endl;
}
void Tahta::oyna(int x, int y){

		if(tahta[x][y].getSembol()==0){
			tahta[x][y] = hamle(sira);
			sira %=2;
			sira++;	
			if(kazandi()==1)
				throw kazanma(1);
			else if(kazandi()==2)
				throw kazanma(2);

		}
		else
			cout << "bu koordinata sembol yerlestirilmistir"<<endl;
}

void Tahta::bas(){
		for(int i = 0;i<3;i++){
			for(int j = 0;j<3;j++){
				if(tahta[i][j].getSembol()==0) 
					cout <<" ";
				else if(tahta[i][j].getSembol()== 2)
					cout << "o";
				else
					cout << "x";
			}
			cout << endl;
		}
	}
