現在ではリバース可能な場所にのみ置けるように以下のように設定しています。
BOOL COseroView::CanDropDown( int x, int y, int vect_x, int vect_y ) { int put_stone; if( m_FlagForWhite )put_stone = WHITE_STONE; else put_stone = BLACK_STONE; x += vect_x; y += vect_y; if( x < 0 || x >= MASU_NUM || y < 0 || y >= MASU_NUM )return( FALSE ); if( m_Board[x][y] == put_stone )return( FALSE ); if( m_Board[x][y] == BLANK )return( FALSE ); x += vect_x; y += vect_y; while( x >= 0 && x < MASU_NUM && y >= 0 && y < MASU_NUM ) { if( m_Board[x][y] == BLANK )return( FALSE ); if( m_Board[x][y] == put_stone )return( TRUE ); x += vect_x; y += vect_y; } return( FALSE ); } BOOL COseroView::CanDropDown( int x, int y ) { if( x >= MASU_NUM || y >= MASU_NUM )return( FALSE ); if( m_Board[x][y] != BLANK )return( FALSE ); if( CanDropDown( x, y, 1, 0 ) )return( TRUE ); //右 if( CanDropDown( x, y, 0, 1 ) )return( TRUE ); //下 if( CanDropDown( x, y, -1, 0 ) )return( TRUE ); //左 if( CanDropDown( x, y, 0, -1 ) )return( TRUE ); //上 if( CanDropDown( x, y, 1, 1 ) )return( TRUE ); //右下 if( CanDropDown( x, y, -1, -1 ) )return( TRUE ); //左上 if( CanDropDown( x, y, 1, -1 ) )return( TRUE ); //右上 if( CanDropDown( x, y, -1, 1 ) )return( TRUE ); //左下 return( FALSE ); }これにリバースできる場所がない場合判定をしてゲームを終了したいのですが
どうすればいいのかわかりません。