diff --git a/src/main/java/com/hy/java/uct/umlrecog/SequenceDiagramRecognizer.java b/src/main/java/com/hy/java/uct/umlrecog/SequenceDiagramRecognizer.java index 4f9b8c1f5684a0f315ff72537dc150e0f0acd18e..8196505c392b27e60b70e674adfa9efeb55d9d30 100644 --- a/src/main/java/com/hy/java/uct/umlrecog/SequenceDiagramRecognizer.java +++ b/src/main/java/com/hy/java/uct/umlrecog/SequenceDiagramRecognizer.java @@ -43,6 +43,7 @@ public class SequenceDiagramRecognizer { */ // 图包路径+项目名称+.txt FileEditor fe = new FileEditor(sd_dir + repo_name.replaceAll("/", "_") + ".txt"); + fe.write(String.valueOf(obj_detector.frame), true); List object_list = objs_with_msgs.getRight(); for (UMLObject UML_object : object_list) { /* diff --git a/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java b/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java index b05d18976f0af2a2496416fedb273260255fe610..76c40289b3181be0904149e2c10553fb3ee94286 100644 --- a/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java +++ b/src/main/java/com/hy/java/uct/umlrecog/UMLDiagramRecognizer.java @@ -111,7 +111,7 @@ public class UMLDiagramRecognizer { UMLDiagramRecognizer.recogSD(sd_dir, "kviniink/Skripsi", false); UMLDiagramRecognizer.recogSD(sd_dir, "lordwoo/Degree-Dissertation", false); UMLDiagramRecognizer.recogSD(sd_dir, "mcsinking/Group1_MPP_PROJECT", false); - UMLDiagramRecognizer.recogSD(sd_dir, "michelalbonico/Giraffe-Project", false); + UMLDiagramRecognizer.recogSD(sd_dir, "Pulperi/MLG-360-NOSCOPE-SUDOKU-SOLVER", false); UMLDiagramRecognizer.recogSD(sd_dir, "tearvan/SkripsiKIRIDataMining", false); UMLDiagramRecognizer.recogSD(sd_dir, "waisuan/undergraduate", false); UMLDiagramRecognizer.recogSD(sd_dir, "ws23/IndependentStudy", false); @@ -144,7 +144,7 @@ public class UMLDiagramRecognizer { UMLDiagramRecognizer.recogSD(sd_dir, "SpoonLabs/astor", false); UMLDiagramRecognizer.recogSD(sd_dir, "timfel/meet4xmas", false); UMLDiagramRecognizer.recogSD(sd_dir, "Vskilet/eduram", false); - UMLDiagramRecognizer.recogSD(sd_dir, "Windowsfreak/VSP", false); + UMLDiagramRecognizer.recogSD(sd_dir, "Rautiainen/Starmap", true); UMLDiagramRecognizer.recogSD(sd_dir, "zy084232/Knowing-Campus", false); } } diff --git a/src/main/java/com/hy/java/uct/umlrecog/sddetector/ObjectDetector.java b/src/main/java/com/hy/java/uct/umlrecog/sddetector/ObjectDetector.java index 55b85a51b7f66e0b66478aac0f2a73459cdc61e6..0751e8ac64cc3de89d73d2c537d330e80fcb5652 100644 --- a/src/main/java/com/hy/java/uct/umlrecog/sddetector/ObjectDetector.java +++ b/src/main/java/com/hy/java/uct/umlrecog/sddetector/ObjectDetector.java @@ -11,6 +11,7 @@ import org.opencv.core.MatOfPoint2f; import org.opencv.core.Scalar; import org.opencv.imgcodecs.Imgcodecs; import org.opencv.imgproc.Imgproc; +import org.opencv.ml.EM; import com.hy.java.uct.umlrecog.UMLDiagramRecognizer; import com.hy.java.uct.umlrecog.util.ImgProcessor; @@ -26,6 +27,7 @@ public class ObjectDetector { private String sd_path = null; private String temp_res_path = null; private Pair> result = null; + public int frame = 0; public ObjectDetector(String repo_sd_path) { this.sd_path = repo_sd_path; @@ -57,7 +59,7 @@ public class ObjectDetector { * 检测方框 * * @param s_diagram - * @param ratio 检测最小矩形占全图面积的比例(0~1之间的一个小数)。如果类图中类的面积很小,则该比例应设的很小。 + * @param ratio 检测最小矩形占全图面积的比例(0~1之间的一个小数)。如果图中方框的面积很小,则该比例应设的很小。 * @return */ private Pair> detectRectArea(Mat s_diagram, double ratio) { @@ -75,7 +77,7 @@ public class ObjectDetector { List rect_contours = new ArrayList<>(); // 根据图片像素计算轮廓面积阈值。如果轮廓面积太小或太大,则直接忽略 long cd_area = s_diagram.width() * s_diagram.height(); - double min_cls_area = 70; + double min_cls_area = 30; double max_cls_area = cd_area * 0.5; for (MatOfPoint contour : contours) { // 如果轮廓面积太小或太大,则直接忽略 @@ -94,6 +96,28 @@ public class ObjectDetector { rect_contours.add(contour); // 存完后将矩形从图中抹掉(涂白)。后面还需对所有边框进行涂白 Imgproc.fillConvexPoly(s_diagram, contour, new Scalar(255, 255, 255)); + } else if (approx_curve.toArray().length <= 6) { + // 循环帧标志是五边形 + ITesseract instance = new Tesseract(); + instance.setDatapath(UMLDiagramRecognizer.tessdata_path); + try { + // 将uo中的每个区域写入临时文件,然后识别临时文件中的文字 + if (approx_curve.get(2, 0) != null) { + Mat img = ImgProcessor.cutImage(s_diagram, new Rectangle(s_diagram.clone(), contour, approx_curve)); + if (!img.empty()) { + Imgcodecs.imwrite(temp_res_path, img); + String frame_text = instance.doOCR(new File(temp_res_path)); + if (!frame_text.isEmpty()) { + if (frame_text.length() <= 15 && frame_text.length() >= 3) { + frame++; + } + } + } + } + } catch (TesseractException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } } // 对所有矩形边框进行涂白,防止其干扰关系符号和关系线识别 diff --git a/src/main/resources/sd/Blodir_Stackallax.txt b/src/main/resources/sd/Blodir_Stackallax.txt index fbcf5a37bd3bf8f1dbac345b0954cff9f8975d0b..9f15f652d5b5bd3181200d623164a9c2eb6a4452 100644 --- a/src/main/resources/sd/Blodir_Stackallax.txt +++ b/src/main/resources/sd/Blodir_Stackallax.txt @@ -1,39 +1,39 @@ -ScoreManager +1(786,47)ScoreManager @ScoreManager %Game %‘ —_— I I - I I I ‘ ¥Game %ScoreManager %| i | increase( i [ | -¥#CollisionDetector +¥#(655,47)CollisionDetector @CollisionDetector %Game %| - YY" i | ¥Game %CollisionDetector %| (v updatey | ! | -¥#ObstacleManager +¥#(522,47)ObstacleManager @ObstacleManager %BackgroundManager %Stackallax aame loop ¥Game %ObstacleManager %‘ ‘ I update( i i i i ‘ -¥#player +¥#(456,47)player @player %BackgroundManager %Stackallax aame loop ¥Game %player %| [ updateyp | ! ! ! | -¥#BackgroundManager +¥#(306,47)BackgroundManager @BackgroundManager %Game -%N i i i i | -¥BackgroundManager -%Game %| ey ! ! ! ! ! | +¥BackgroundManager +%Game +%N i i i i | ¥Game %BackgroundManager %| | | updatey ! i i i i | @@ -43,33 +43,33 @@ ScoreManager ¥player %BackgroundManager %Stackallax aame loop -¥#Game +¥#(240,47)Game @Game %ObstacleManager %‘ ‘ I update( i i i i ‘ ¥Game -%ScoreManager -%| i | increase( i [ | -¥Game -%CollisionDetector -%| (v updatey | ! | -¥Game %player %| [ updateyp | ! ! ! | ¥Game %BackgroundManager %| | | updatey ! i i i i | +¥Game +%CollisionDetector +%| (v updatey | ! | +¥Game +%ScoreManager +%| i | increase( i [ | ¥BackgroundManager %Game -%N i i i i | -¥ScoreManager +%| ey ! +! ! ! ! | +¥BackgroundManager %Game -%‘ —_— I I - I I I ‘ +%N i i i i | ¥CollisionDetector %Game %| - YY" i | -¥BackgroundManager +¥ScoreManager %Game -%| ey ! -! ! ! ! | +%‘ —_— I I - I I I ‘ ¥# \ No newline at end of file diff --git a/src/main/resources/sd/ElvBC_SWE-Design.txt b/src/main/resources/sd/ElvBC_SWE-Design.txt new file mode 100644 index 0000000000000000000000000000000000000000..9564348f7f7074bfbcc652e80f89cfe33951638a --- /dev/null +++ b/src/main/resources/sd/ElvBC_SWE-Design.txt @@ -0,0 +1,109 @@ +0(372,226)( +@#(266,198)| +@#(533,248)| +@#(157,198)1 +@#(503,90)Ticket +@Player +%Ticket +%I I8l || S addfumbersl) o | +¥<> +%Ticket +%I e * 1 1 | +¥#(351,90)Player +@Player +%Ticket +%I I8l || S addfumbersl) o | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥#(242,90)Lottery +@Lottery +%<> +%[ |teniRPpressed o b +1 g E Bl | i i | | +¥Lottery +%<> +%I | 1: Enter Player | I I +1 1: Enter Player | I | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥#(125,90)<> +@<> +%Ticket +%I e * 1 1 | +¥Lottery +%<> +%[ |teniRPpressed o b +1 g E Bl | i i | | +¥Lottery +%<> +%I | 1: Enter Player | I I +1 1: Enter Player | I | +¥#0(372,226)( +@#(266,198)| +@#(533,248)| +@#(157,198)1 +@#(503,90)Ticket +@Player +%Ticket +%I I8l || S addfumbersl) o | +¥<> +%Ticket +%I e * 1 1 | +¥#(351,90)Player +@Player +%Ticket +%I I8l || S addfumbersl) o | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥#(242,90)Lottery +@Lottery +%<> +%[ |teniRPpressed o b +1 g E Bl | i i | | +¥Lottery +%<> +%I | 1: Enter Player | I I +1 1: Enter Player | I | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥Player +%Lottery +%I I8l | |2 addPlayer() | ! | +¥#(125,90)<> +@<> +%Ticket +%I e * 1 1 | +¥Lottery +%<> +%[ |teniRPpressed o b +1 g E Bl | i i | | +¥Lottery +%<> +%I | 1: Enter Player | I I +1 1: Enter Player | I | +¥# \ No newline at end of file diff --git a/src/main/resources/sd/Pulperi_MLG-360-NOSCOPE-SUDOKU-SOLVER.txt b/src/main/resources/sd/Pulperi_MLG-360-NOSCOPE-SUDOKU-SOLVER.txt new file mode 100644 index 0000000000000000000000000000000000000000..74cc015ae626ab454e6d07c9965e8515d7cb0672 --- /dev/null +++ b/src/main/resources/sd/Pulperi_MLG-360-NOSCOPE-SUDOKU-SOLVER.txt @@ -0,0 +1,3046 @@ +12(340,4351)byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +@byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I I 0 1 I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I \ e T | I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%1 o 1 1 1 1 1 1 1 1 1 1 1 1 +] | | e | I I I | | | I I I I i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] ! W kg ! | i ! ! ! ! ! ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | [ TMemmaasaa] | 7.1.5.1: new Sudoku(3, 3,jsudokuData) I I | i | | | i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I N o v o a4~~~/ "—™"'"™—~wW ~~—/fr oo,/ 7/ N T T T T T T T T T T T T T I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 17 13.1.1: bText = evt.getSource() getText(): String I I I I I I | I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] | [ I[{eturnval == JFileChooser. APPROVE_OPTION] ! i I I | | | | ol i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I N o v o a4~~~/ "—™"'"™—~wW ~~—/fr oo,/ 7/ N T T T T T T T T T T T T T I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I I 3: initComponents(): void T I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] | [ I[{eturnval == JFileChooser. APPROVE_OPTION] ! i I I | | | | ol i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I T e ey || 112 updateSolvedValues(sudoku, solvedSudoku): void | I I S I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%1 T 1 1 1 +I | G e Sk 1B el ueid 1 1 T 1 | | T T T | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | | 2isudoku=newSudoku(3,3) | Sudoku:Sudoku | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%I I | I e b ! i ! | I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ‘—H—‘ ! ! ! ! +] ! PR e ! ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i - +e oo “ +N L +B S T L +S R \ +S S ! +S S ' +[ ' +P S L +- +a4 ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i I | 7.15.2: badedsudoku _ I I I i | | | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i " 3.1: new JButton() I " [soweButton - JButton | I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | | 2isudoku=newSudoku(3,3) | Sudoku:Sudoku | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | [ I[{eturnval == JFileChooser. APPROVE_OPTION] ! i I I | | | | ol i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%I I vV - ar~ e | I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%1 T 1 1 1 +I | G e Sk 1B el ueid 1 1 T 1 | | T T T | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1177 9.1: difficultyValue TextKeyPressed(evt): void I I I I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] B I . . 1 . . ! ' H ! ! H H +1 A 4 R Tavt — et et @ el et T et (e St 1 1 1 | 1 1 1 1 1 1 1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | 1 e I ! [ I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ‘—H—‘ ! ! ! ! +] ! PR e ! ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! i F— b ! ! I ! ! I I 1 I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! e - 1 i | | ! ! ! 1 ! ! ! ! +1 e A el — e @il AL 1 —_— 1 | | 1 1 1 1 1 1 1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | 1 e I ! [ I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%1 1 | | | | +| I P 10 1 newlineamedSudor Butan ActionPedformediov | I ! ! I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I T e ey || 112 updateSolvedValues(sudoku, solvedSudoku): void | I I S I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | U1 12.1.3 activex = xy[0), activeY = xy[1] I I ! [ I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i |l +i | 7.1: loadSudokuButtonActionPerformed(evt): void I | i +I I +i I i i i +i | +| 1 1 1 1 +1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%SudokuWorldSaga +%] | | 2isudoku=newSudoku(3,3) | Sudoku:Sudoku | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ! _ ooy [ i ! ! ! ! [ ! ! ! +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | ([ erAroerEnnesiaciven, aciver ) AraynsEIeser o1 I I +» I I I | I I I +I I I i I I I +I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I I 0 1 I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1l 521 setEnabled{true): void | | I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! >t seEeetefeloooooooooooo +| ! ! ! ! ! +1 . H I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! [ [ DB seAacTveR, actver, varr void 1 ! i ! ! ! ! ! I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | || |—_10.1.3: setEnabled(true) H 1 E 1 il +1 I | | i v i +I | | | 1 + +| +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%1 o 1 1 1 1 1 1 1 1 1 1 1 1 +] | | e | I I I | | | I I I I i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | [ TMemmaasaa] | 7.1.5.1: new Sudoku(3, 3,jsudokuData) I I | i | | | i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I N o v o a4~~~/ "—™"'"™—~wW ~~—/fr oo,/ 7/ N T T T T T T T T T T T T T I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 17 13.1.1: bText = evt.getSource() getText(): String I I I I I I | I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I N o v o a4~~~/ "—™"'"™—~wW ~~—/fr oo,/ 7/ N T T T T T T T T T T T T T I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥SudokuSolver +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%[ ! || Wl s ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I I 3: initComponents(): void T I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I T e ey || 112 updateSolvedValues(sudoku, solvedSudoku): void | I I S I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | | 2isudoku=newSudoku(3,3) | Sudoku:Sudoku | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ‘—H—‘ ! ! ! ! +] ! PR e ! ! ! ! +¥SudokuGenerator +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i - +e oo “ +N L +B S T L +S R \ +S S ! +S S ' +[ ' +P S L +- +a4 ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i I | 7.15.2: badedsudoku _ I I I i | | | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i " 3.1: new JButton() I " [soweButton - JButton | I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | | 2isudoku=newSudoku(3,3) | Sudoku:Sudoku | i i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | [ I[{eturnval == JFileChooser. APPROVE_OPTION] ! i I I | | | | ol i i i +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i ML e el ___________~)] soleBution:JBution | | | | | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I U171 12.1.2:xy = coordsToxY(evt getX(), evtgety()): int | I ! T I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1177 9.1: difficultyValue TextKeyPressed(evt): void I I I I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] B I . . 1 . . ! ' H ! ! H H +1 A 4 R Tavt — et et @ el et T et (e St 1 1 1 | 1 1 1 1 1 1 1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | 1 e I ! [ I I I I I I I I +¥FileManager +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ‘—H—‘ ! ! ! ! +] ! PR e ! ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! i F— b ! ! I ! ! I I 1 I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! e - 1 i | | ! ! ! 1 ! ! ! ! +1 e A el — e @il AL 1 —_— 1 | | 1 1 1 1 1 1 1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | 1 e I ! [ I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%1 1 | | | | +| I P 10 1 newlineamedSudor Butan ActionPedformediov | I ! ! I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I T e ey || 112 updateSolvedValues(sudoku, solvedSudoku): void | I I S I I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i [ | feadedSudoku < Sudoku | | - e e L 2 ! ! ! +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | U1 12.1.3 activex = xy[0), activeY = xy[1] I I ! [ I I I I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I (| Lo Bt sdoRe mnew SuaoRaS A N\ _ )| mewSudoku :Sudoku | i I I I +I 1 1 +I I I I I I I I +I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] i |l +i | 7.1: loadSudokuButtonActionPerformed(evt): void I | i +I I +i I i i i +i | +| 1 1 1 1 +1 1 +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥#(432,3541)! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +@! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I I L ROGRICORENG g Hher s woud 1 1 I 1 I I - I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] ! (Lo ____ 2-inewsudowranel) L ______1________5] sudokuPanel:SudoluPanel | ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i e | | I i i 1 i ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I 1 I o 1 1 T | bl ! ! i ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I I 812 afficaityvaioe T T T T I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! P . H | H ! i ! i ! ! ! +] ! I 4t e = e FileNarmeEtemsionE e Sudaku fle* 4udaky®) 1 I | ! ! ! e ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i i 3.7: new JTextField() I I I I i ] e | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%[ ! || Wl s ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I I U Wl o I I I [ I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! (Lo ____ 2-inewsudowranel) L ______1________5] sudokuPanel:SudoluPanel | ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I I LI S T T "0 I I I I i ol I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] I ([ o= afeulyValee I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I i 3.5: new JFileChooser() I I I T [ iFieChooser JFileChooser | I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I i I T _—_—— I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I I | S I I I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I ! M-—- Y ——— i ! ! ! ! [ ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! (Lo ____ 2-inewsudowranel) L ______1________5] sudokuPanel:SudoluPanel | ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I ! | [ T T 1 1 T -u ! ! ! [ ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%[ P | o ey e +S S ! +S S S v +N S A +! ! +[ ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1 2dSudoku : Sudoku L e STdoes | L +i | | gemeratedSudokuiSudoku | T Ll 4 - I 1 | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] ! [solvedSudoku 1=nul) || CPeESOEETATRRSAAeS, e e .-, o4y ooy oo +! +Lo i ! I +! ! ! ! ! ! +1 1 ! ! +! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I ! +. —==me= +ey ' +. ,,,,,,,,,,,,,,,J,,,,,,,,,,,,‘ +| ! ! +! ! ! ! +! ! +! ! +! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%1 - 1 1 + | 1 I 1 1 +[ I || w—t P I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I ! ““v—tt ¥ ! ! ! [ ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i i 3.6: new JSlider() | i I i e ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%I I " Y " I I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%SudokuWorldSaga +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! " " " | 1 1 | ! I I ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ | 1 ‘ I L 1 1 . | | i i i i +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I I L ROGRICORENG g Hher s woud 1 1 I 1 I I - I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! || '="T-dissbleSudokubionsy oo o 000000000o0ooo0ov 0004y 0 ! ! I I ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I i % T 1 i i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! 1 10.1.2: updateValues(sudoku) ! ! ) | ! ! ! i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! t oy - 1 1 ! ! I I ! I [ I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I | "y e I I I i I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%1 e 1.5 disablestdokuBbutionst ). void 1 1 1 1 1 0 1 1 0 0 0 1 +I I I I I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! "y ! ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (] "1 showOpenPialog(SudokuloridSaga this): int ! | 1 L ) | i I | | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I 4= setflerlledien:vod o e e +I I | | . Al +I I i I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I T ey ] I I I I I ol I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I | |15 disableSudokuButions(y:vold o 00000000 0000000000000y 00§ I I I ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I Cea e I I i I I T | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I ‘g ! I I I I [ I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i I 13.1.2: setXY (activeX, activeY, bText) ; . 1 i i ! 1 i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ ! || v oo0o0o0000oov ... .+ ..o 0000000000000 ... v 00000 ! I [ I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I | - oo ... 00000000000 .00 0000000000 0000000000000 0 N I I I o I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ ! || - -serepeem el ! ! [ ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ I || """ - v .00 0000000 e | I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I sy +I I . . + +I I I ol | | 1 +| +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] 1 1 1 URGRINVISUISSSUGON )= Wosd 1 1 | I I I I I I I I I +! | o< wosevavesswoper® o ooy H ! ! ! ! ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I I 1314: 50X YColor(activeX, ackhveY, Color.White):vold =~ | I I I I I I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I I L ROGRICORENG g Hher s woud 1 1 I 1 I I - I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%T SE e mEEER R T 1 1 1 T o 1 1 1 1 | | +I I I I I I I i I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I """ " | 1 I 1 I | i I | | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I {19 14: cisableSudokuButtons() I I ! ! I I I I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I || f__ etit:setTextivabe+*yvoid e e | I I I I I +¥byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I \ e T | I I I I I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i e | | I i i 1 i ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! P . H | H ! i ! i ! ! ! +] ! I 4t e = e FileNarmeEtemsionE e Sudaku fle* 4udaky®) 1 I | ! ! ! e ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i i 3.7: new JTextField() I I I I i ] e | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! (Lo ____ 2-inewsudowranel) L ______1________5] sudokuPanel:SudoluPanel | ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I i 3.5: new JFileChooser() I I I T [ iFieChooser JFileChooser | I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I i I T _—_—— I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! (Lo ____ 2-inewsudowranel) L ______1________5] sudokuPanel:SudoluPanel | ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i i 3.6: new JSlider() | i I i e ! ! ! ! +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | T e e e S e O N fter:FileNameExtensionFilter | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | WL L Lo cifficutyValueText: JTextField | i i i i +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i WL - )| ifficutySider : JSlder | | | | | +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (| Lo pfswdemBuions =new Butontil L AL ] sudokuButtons : JButton]) I I I I +¥! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] | ML ____ _oonew-Hethooserl) L i L +noosen) Qo ____~]| IFileChooser: JFileChooser | +} } 1 1 +i i +¥#(747,165)‘sudoku : Sudoku +@#(836,3206)generatedSudoku : Sudoku +@#(847,885)newSudoku : Sudoku +@#(2149,553)filter : FileNameExtensionFilter +@#(1910,481)difficultyValueText : JTextField +@#(1741,445)difficultySiider : JSlider +@#(1556,408)iFileChooser : JFileChooser +@#(1349,370)‘sudokuButtons : JButton(] +@#(1187,308)‘sudokuPanel : SudokuPanel +@#(1012,226)solveButton : JButton +@#(366,121)SudokuWorldSaga +@SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! " " " | 1 1 | ! I I ! I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%I ! _ ooy [ i ! ! ! ! [ ! ! ! +¥SudokuWorldSaga +%Integer +%I ! | |f|__13-15: parselntbText): int ! | | . ! ! ! i ! Lo ! ! + ta1sparsebptextyit 00Oy 0000000000004 e T T +¥SudokuWorldSaga +%Integer +%[ I || 1 =.1.0- parseinfiaificully Text)-int 1 1 ! ! | | | | | I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I | ([ erAroerEnnesiaciven, aciver ) AraynsEIeser o1 I I +» I I I | I I I +I I I i I I I +I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ | 1 ‘ I L 1 1 . | | i i i i +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I I L ROGRICORENG g Hher s woud 1 1 I 1 I I - I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! || '="T-dissbleSudokubionsy oo o 000000000o0ooo0ov 0004y 0 ! ! I I ! I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] I 1l 521 setEnabled{true): void | | I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! >t seEeetefeloooooooooooo +| ! ! ! ! ! +1 . H I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I i % T 1 i i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! 1 10.1.2: updateValues(sudoku) ! ! ) | ! ! ! i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] ! t oy - 1 1 ! ! I I ! I [ I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I | "y e I I I i I I I I +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] ! [ [ DB seAacTveR, actver, varr void 1 ! i ! ! ! ! ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%1 e 1.5 disablestdokuBbutionst ). void 1 1 1 1 1 0 1 1 0 0 0 1 +I I I I I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I ! "y ! ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I (] "1 showOpenPialog(SudokuloridSaga this): int ! | 1 L ) | i I | | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I 4= setflerlledien:vod o e e +I I | | . Al +I I i I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I T ey ] I I I I I ol I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I | |15 disableSudokuButions(y:vold o 00000000 0000000000000y 00§ I I I ! I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I Cea e I I i I I T | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I ‘g ! I I I I [ I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] i I 13.1.2: setXY (activeX, activeY, bText) ; . 1 i i ! 1 i ! ! ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ ! || v oo0o0o0000oov ... .+ ..o 0000000000000 ... v 00000 ! I [ I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I | - oo ... 00000000000 .00 0000000000 0000000000000 0 N I I I o I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ ! || - -serepeem el ! ! [ ! ! +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%[ I || """ - v .00 0000000 e | I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I sy +I I . . + +I I I ol | | 1 +| +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] 1 1 1 URGRINVISUISSSUGON )= Wosd 1 1 | I I I I I I I I I +! | o< wosevavesswoper® o ooy H ! ! ! ! ! ! ! ! +¥SudokuWorldSaga +%byValue 1=0] 12.1.7: sudokuButtons(0] selEnabled(rue): void ! | | | +I | ! v +%] | || |—_10.1.3: setEnabled(true) H 1 E 1 il +1 I | | i v i +I | | | 1 + +| +¥SudokuWorldSaga +%SudokuGenerator +%I I I |—_10.1.1:genNewSudoku(3, 3, difficultyvalve): Swéoke __ , o 0000000000000V 00000000000 0000000000000 oy e +I . I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%] I I 1314: 50X YColor(activeX, ackhveY, Color.White):vold =~ | I I I I I I I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%T SE e mEEER R T 1 1 1 T o 1 1 1 1 | | +I I I I I I I i I I I I +¥SudokuWorldSaga +%FileManager +%I I o 1 1 1 1 T o 1 1 oo 1 | | +| o —- ey e I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I """ " | 1 I 1 I | i I | | | | +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I {19 14: cisableSudokuButtons() I I ! ! I I I I I I I I +¥SudokuWorldSaga +%! | +T | 11.1.1: new Sudoku(sudoky) 1 | | ! | ! +Sudok s Sudok | | b} ! 1 ! i i i +e | } | : ; 777777777777T7777777777777777F77777777777777777””‘”””””””””1”””””””””} ! +o MMzsoedSwoky | +T Nl 1 1 | | | | +T T I - T 1 1 +i +%I I || f__ etit:setTextivabe+*yvoid e e | I I I I I +¥SudokuWorldSaga +%SudokuWorldSaga +%] i [T (0