@@ -152,10 +152,6 @@ vector<unsigned int> UltimateTTT<T1, T2>::bestMoves(
152
152
template <class T1 , class T2 >
153
153
void UltimateTTT<T1, T2>::printBoard() const {
154
154
for (int i = 0 ; i < 25 ; ++i){
155
- if (i == 0 || i == 24 ){
156
- cout << endl;
157
- continue ;
158
- }
159
155
for (int j = 0 ; j < 47 ; ++j){
160
156
char cur = ' ' ;
161
157
@@ -164,12 +160,24 @@ void UltimateTTT<T1, T2>::printBoard() const{
164
160
165
161
int subBoard = x / 3 + 3 * (int )(y / 3 );
166
162
int subPostion = x % 3 + 3 * (y % 3 );
167
- bool metaOccupied = getBoardAtPos (-1 , subBoard) != States::empty;
168
163
169
164
bool insideMetaBox_x = (j / 4 ) % 4 == 1 || (j / 4 ) % 4 == 2 ;
170
165
bool insideMetaBox_y = (i / 2 ) % 4 == 1 || (i / 2 ) % 4 == 2 ;
171
-
172
- if (i % 2 == 1 && j % 4 == 1 ){
166
+ bool metaOccupied = true ; // default
167
+
168
+ if (i != 0 && i != 24 ){
169
+ metaOccupied = getBoardAtPos (-1 , subBoard) != States::empty;
170
+ }
171
+
172
+ if (i % 8 == 0 && (j / 16 ) == (activeBoard % 3 ) && j % 16 != 15
173
+ && ((i / 8 ) == (activeBoard / 3 ) ||
174
+ (i / 8 ) == ((activeBoard / 3 ) + 1 )) ){
175
+ cur = ' #' ;
176
+ } else if ((j % 16 == 0 || j % 16 == 14 )
177
+ && (i / 8 ) == (activeBoard / 3 )
178
+ && (j / 16 ) == (activeBoard % 3 )){
179
+ cur = ' #' ;
180
+ } else if (i % 2 == 1 && j % 4 == 1 ){
173
181
if (metaOccupied && dontRevisitSquares
174
182
&& insideMetaBox_x && insideMetaBox_y){
175
183
cur = ' ' ;
0 commit comments