/********************************* * * リストや盤面の状態を保存 * * *******************************/ public static void saveNowState(StateSave save_point) { ////// 呼びだされた時点での盤面の全てのマス for (int i = 0; i < Tapa.MAX_BOARD_ROW + 2; i++) { save_point.saved_box[i] = new Box[Tapa.MAX_BOARD_COL + 2]; for (int j = 0; j < Tapa.MAX_BOARD_COL + 2; j++) { save_point.saved_box[i][j] = new Box(Tapa.box[i][j]); } } // 呼びだされた時点での数字マスの座標のリスト save_point.saved_numbox_coord_list = StateSave.getStateCoordList(Tapa.numbox_coord_list); // 呼びだされた時点での未定マスの座標リスト save_point.saved_not_deployedbox_coord_list = StateSave.getStateCoordList(Tapa.not_deployedbox_coord_list); // 呼びだされた時点での伸び代のある黒マスの座標リスト save_point.saved_edge_blackbox_coord_list = StateSave.getStateCoordList(Tapa.edge_blackbox_coord_list); // 呼びだされた時点での一繋がりの黒マス群の座標リスト save_point.saved_isolation_blackboxes_group_list = StateSave.getStateMultiCoordList(Tapa.isolation_blackboxes_group_list); // 呼びだされた時点での一繋がりの黒マス群の座標リスト //save_point.saved_isolation_notdeployedboxes_group_list // = StateSave.getStateMultiCoordList(Tapa.isolation_notdeployedboxes_group_list); // 呼びだされた時点での盤面が変更されたかの情報 save_point.saved_was_changed_board = Tapa.was_change_board; }
public StateSave(StateSave origin_state) { // 引数の盤面の全てのマス this.saved_box = new Box[Tapa.MAX_BOARD_ROW + 2][]; for (int i = 0; i < Tapa.MAX_BOARD_ROW + 2; i++) { this.saved_box[i] = new Box[Tapa.MAX_BOARD_COL + 2]; for (int j = 0; j < Tapa.MAX_BOARD_COL + 2; j++) { this.saved_box[i][j] = new Box(origin_state.saved_box[i][j]); } } // 引数の数字マスの座標のリスト this.saved_numbox_coord_list = StateSave.getStateCoordList(origin_state.saved_numbox_coord_list); // 引数の未定マスの座標リスト this.saved_not_deployedbox_coord_list = StateSave.getStateCoordList(origin_state.saved_not_deployedbox_coord_list); // 引数の伸び代のある黒マスの座標リスト this.saved_edge_blackbox_coord_list = StateSave.getStateCoordList(origin_state.saved_edge_blackbox_coord_list); // 引数の一繋がりの黒マス群の座標リスト this.saved_isolation_blackboxes_group_list = StateSave.getStateMultiCoordList(origin_state.saved_isolation_blackboxes_group_list); // 引数の一繋がりの未定マス群の座標リスト //this.saved_isolation_notdeployedboxes_group_list // = StateSave.getStateMultiCoordList(origin_state.saved_isolation_notdeployedboxes_group_list); // 引数の盤面が変更されたかの情報 this.saved_was_changed_board = origin_state.saved_was_changed_board; }