#include <stdio.h>


// 盤面

int table[8][8];


// 現在のターン

int turn = 1;


///////////////////////////
// draw() 関数

// 画面に盤面を描画します。

///////////////////////////

void draw(){

for(int y=0; y<8; y++){

for(int x=0; x<8; x++){

switch( table[x][y] ){

case 0:

printf( "□" );

break;

case 1:

printf( "●" );

break;

case -1:

printf( "○" );

break;

}

}

printf( "\n" );

}

}


///////////////////////////
// drawTurn() 関数

// 現在のターンを表示します

///////////////////////////

void drawTurn(){

if( turn == 1 ){

printf( "黒(1P)の番です。\n" );

}else if( turn == -1 ){

printf( "白(2P)の番です。\n" );

}

}


///////////////////////////
// nextTurn() 関数

// ターンを入れ替えます

///////////////////////////

void nextTurn(){

turn = -turn;

}


///////////////////////////
// isEnd() 関数

// ゲームが終了しているかを判定します。

// ゲームが終了していれば 0 を返し、

// まだ終了していなければ 1 を返します。

///////////////////////////

int isEnd(){

for(int x=0; x<8; x++){

for(int y=0; y<8; y++){

if( table[x][y] == 0 ){

return 1;

}

}

}

return 0;

}


///////////////////////////
// main() 関数

// プログラム本体

///////////////////////////

int main(){


// 盤面をすべて 0(何も置かれていない) で初期化します。

for(int x=0; x<8; x++){

for(int y=0; y<8; y++){

table[x][y] = 0;

}

}


// センターの黒と白を配置します。

table[3][3] = 1;

table[4][4] = 1;

table[3][4] = -1;

table[4][3] = -1;


// ゲームが終了するまでループします。

while( isEnd() == 1 ){


// 盤面を表示します。

draw();


// 現在 黒(1P)の番か白(2P)の番かを表示します。

drawTurn();


// 駒を配置する場所を選択させます。

if( put() == 0 ){

// 黒(1P)と白(2P)の順番を入れ替えます。

nextTurn();

}else{

printf( "そこには置けません\nもう一度選択してください。\n" );

}

}


// 結果を表示。

result();


return0;

}