Пример #1
0
 /*********************************
 *
 *   リストや盤面の状態を保存
 *
 * *******************************/
 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;
 }
Пример #2
0
 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;
 }