⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainform.cs

📁 Sudoku as a CSP: Using algorithms and techniques from CSP to solve an NxN Sudoku puzzle.
💻 CS
📖 第 1 页 / 共 3 页
字号:
                            LogText.Text += "Faild reaching Timeout ( "+ timoutCombo.SelectedItem.ToString()+" ).\n";
                            LogText.Select(LogText.Text.Length, 0);
                            LogText.ScrollToCaret();
                        }

                        startinfo = null; 
                        if ((i + j + k) == (ConPropList.CheckedItems.Count + VarList.CheckedItems.Count + ValList.CheckedItems.Count - 3))
                        {
                            CompareDialog comp; 
                            if (m_currentSolution != null)
                            {
                                comp = new CompareDialog(m_currentGrid, data);
                                SetResult(m_currentSolution);
                                comp.ShowDialog();
                            }
                        }

                    }
        }
        int m_currentGrid; 
        private void ClearSolButton_Click(object sender, EventArgs e)
        {

            for (int i = 0; i < gridSize; i++)
                for (int j = 0; j < gridSize; j++)
                {
                    enable = true; 

                    if (graphicSudokuBoard[i, j].BackColor != Color.LightSteelBlue)
                        graphicSudokuBoard[i, j].Text = "";
                }
                        
        }

        private void ClearLogButton_Click(object sender, EventArgs e)
        {
            LogText.Text = ""; 
        }

        public void UncheckAll()
        {
            x4ToolStripMenuItem.Checked = false;
            x9ToolStripMenuItem.Checked = false;
            x16ToolStripMenuItem.Checked = false;
            x25ToolStripMenuItem.Checked = false;
        }
        private void x4ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (gridSize == 4) return; 
            DestroySudokuBoard();
            gridSize = 4;
            CreateSudokuBoard();
            UncheckAll(); 
            x4ToolStripMenuItem.Checked = true;
            GridSizeCombo.SelectedIndex = 0; 
        }

        private void x9ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (gridSize == 9) return;
            DestroySudokuBoard();
            gridSize = 9;
            CreateSudokuBoard();
            UncheckAll();
            x9ToolStripMenuItem.Checked = true;
            GridSizeCombo.SelectedIndex = 1; 
        }

        private void x16ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (gridSize == 16) return;
            DestroySudokuBoard();
            gridSize = 16;
            CreateSudokuBoard();
            UncheckAll();
            x16ToolStripMenuItem.Checked = true;
            GridSizeCombo.SelectedIndex = 2; 
        }

        private void x25ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (gridSize == 25)
            {
                return;
            }
            DestroySudokuBoard();
            gridSize = 25;
            CreateSudokuBoard();
            UncheckAll();
            x25ToolStripMenuItem.Checked = true;
            GridSizeCombo.SelectedIndex = 3; 
        }

        private void easyToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (level == Level.Easy)
            {
                return;
            }
            level = Level.Easy;
            easyToolStripMenuItem1.Checked = true;  
            mediumToolStripMenuItem1.Checked = false;
            hardToolStripMenuItem1.Checked = false;

            GridLevelCombo.SelectedIndex = 0; 
        }

        private void mediumToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (level == Level.Medium)
            {
                return;
            }
            level = Level.Medium;
            easyToolStripMenuItem1.Checked = false;
            mediumToolStripMenuItem1.Checked = true;
            hardToolStripMenuItem1.Checked = false;

            GridLevelCombo.SelectedIndex = 1; 
        }

        private void hardToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            if (level == Level.Hard)
            {
                return;
            }
            level = Level.Hard;
            easyToolStripMenuItem1.Checked = false;
            mediumToolStripMenuItem1.Checked = false;
            hardToolStripMenuItem1.Checked =true;

            GridLevelCombo.SelectedIndex = 2; 
            
        }

        private void GridSizeCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox b = (ComboBox)sender;
            switch (b.SelectedIndex)
            {
                case 0:
                    x4ToolStripMenuItem_Click(sender,e);
                    break;
                case 1:
                    x9ToolStripMenuItem_Click(sender, e);
                    break;
                case 2:
                    x16ToolStripMenuItem_Click(sender, e);
                    break;
                case 3:
                    x25ToolStripMenuItem_Click(sender, e);
                    break;
                default:
                    break;
            }
        }

        private void GridLevelCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            ComboBox b = (ComboBox)sender;
            switch (b.SelectedIndex)
            {
                case 0:
                    easyToolStripMenuItem1_Click(sender, e);
                    break;
                case 1:
                    mediumToolStripMenuItem1_Click(sender, e);
                    break;
                case 2:
                    hardToolStripMenuItem1_Click(sender, e);
                    break;
                default:
                    break;
            }
        }

      

      

        private void timoutCombo_SelectedIndexChanged(object sender, EventArgs e)
        {
            int number;
            int fraction;
            string sel = (string) timoutCombo.SelectedItem;
            string numstr="";
            string fracstr="";

            int i = 0;
            while (char.IsDigit(sel[i]))
            {
                numstr+=sel[i];
                i++;
            }
            fracstr = sel.Substring(i) ; 
            number = int.Parse(numstr) ; 
            if (fracstr=="ms")
            {
                fraction = 1;
            }
            else
            {
                if (fracstr=="s")
                {
                    fraction = 1000 ; 
                }
                else
                {
                    fraction = 60000;
                }
            }

            timeout = fraction * number;
        }

        private void AllCon_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox b = (CheckBox)sender;
           for (int i = 0; i < ConPropList.Items.Count; i++)
           {
               ConPropList.SetItemChecked(i, b.Checked); 
            }
        }

        private void AllVar_CheckedChanged(object sender, EventArgs e)
        {
                CheckBox b = (CheckBox)sender;
                for (int i = 0; i < VarList.Items.Count; i++)
                {
                    VarList.SetItemChecked(i, b.Checked);
                }
        }

        private void AllVals_CheckedChanged(object sender, EventArgs e)
        {
            CheckBox b = (CheckBox)sender;
            for (int i = 0; i < ValList.Items.Count; i++)
            {
                ValList.SetItemChecked(i, b.Checked);
            }
        }








    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -