Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- namespace すくド
- {
- public partial class Form1 : Form
- {
- public Form1()
- {
- InitializeComponent();
- }
- private Label select = new Label();
- private Label[,] arraysH , SqrtArrays;
- private Boolean switcherH = true, switcherL = true, BigSqrtCheck = true;
- private void Form1_Load(object sender, EventArgs e)
- {
- arraysH = new Label[9, 9] {{ label1, label2, label3,label18,label17,label16,label27,label26,label25},
- { label7, label6, label5,label15,label14,label13,label24,label23,label22},
- { label9, label8, label4,label12,label11,label10,label21,label20,label19},
- { label36,label35,label34,label45,label44,label43,label54,label53,label52},
- { label33,label32,label31,label42,label41,label40,label51,label50,label49},
- { label30,label29,label28,label39,label38,label37,label48,label47,label46},
- { label63,label62,label61,label72,label71,label70,label81,label80,label79},
- { label60,label59,label58,label69,label68,label67,label78,label77,label76},
- { label57,label56,label55,label66,label65,label64,label75,label74,label73}};
- SqrtArrays = new Label[9, 9] {{ label1, label2, label3, label7, label6, label5, label9, label8, label4},
- { label8, label7, label6,label15,label14,label13,label12,label11,label10},
- {label27,label26,label25,label24,label23,label22,label21,label20,label19},
- {label36,label35,label34,label33,label32,label31,label30,label29,label28},
- {label45,label44,label43,label42,label41,label40,label39,label38,label37},
- {label54,label53,label52,label51,label50,label49,label48,label47,label46},
- {label63,label62,label61,label60,label59,label58,label57,label56,label55},
- {label72,label71,label70,label69,label68,label67,label66,label65,label64},
- {label81,label80,label79,label78,label77,label76,label75,label74,label73}};
- Button[] btm = new Button[9] { button1, button2, button3, button4, button5, button6, button7, button8, button9 };
- for (int i = 0; i < 9; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- arraysH[i, j].Click += new EventHandler(labelClick);
- arraysH[i, j].Tag = String.Format("{0},{1}", i, j);
- }
- }
- for (int i = 0; i < 9; i++)
- {
- btm[i].Click += new EventHandler(Button_Click);
- }
- }
- private void label1_Click(object sender, EventArgs e)
- {
- }
- private void Button_Click(object sender, EventArgs e)
- {
- Button btn = (Button)sender;
- select.Text = btn.Text;
- select.Tag = "used";
- }
- private void labelClick(object sender, EventArgs e)
- {
- Label lbl = (Label)sender;
- select = lbl;
- }
- private void button11_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < 9; i++)
- {//橫向檢查
- if (switcherH == true)
- {
- int[] check = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- for (int r = 0; r < 9; r++)
- {
- int x = Convert.ToInt16(arraysH[i, r].Text);
- check[x - 1] = 0;
- }
- for (int r = 0; r < 9; r++)
- {
- if (check[r] != 0)
- {
- switcherH = false;
- arraysH[i, r].BackColor = Color.Green;
- break;
- }
- else
- {
- switcherH = true;
- }
- }
- }
- }
- for (int i = 0; i < 9; i++)
- {//直向檢查
- if (switcherL == true)
- {
- int[] check = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- for (int r = 0; r < 9; r++)
- {
- int x = Convert.ToInt16(arraysH[r, i].Text);
- check[x - 1] = 0;
- }
- for (int r = 0; r < 9; r++)
- {
- if (check[r] != 0)
- {
- switcherL = false;
- arraysH[r, i].BackColor = Color.Yellow;
- break;
- }
- else
- {
- switcherL = true;
- }
- }
- }
- }
- for (int i = 0; i < 9; i++)
- {//大格檢查
- int[] check = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
- for (int j = 0; j < 9; j++)
- {
- int x = Convert.ToInt16(SqrtArrays[i, j].Text);
- check[x - 1] = 0;
- }
- for (int r = 0; r < 9; r++)
- {
- if (check[r] != 0)
- {
- BigSqrtCheck = false;
- break;
- }
- else
- {
- BigSqrtCheck = true;
- }
- }
- }
- if (BigSqrtCheck == true && switcherL == true && switcherH == true)
- {
- for (int i = 0; i < 9; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- arraysH[i, j].BackColor = Color.Gold;
- }
- }
- }
- else
- {
- String WrongMessage = "";
- for (int i = 0; i < 9; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- label82.ForeColor = Color.Red;
- label82.Text = "誤る";
- }
- }
- if (BigSqrtCheck == false)
- {
- WrongMessage += "✘-每一大格都必須要不同數字\n";
- }
- else
- {
- WrongMessage += "✓-每一大格都必須要不同數字\n";
- }
- if (switcherH == false)
- {
- WrongMessage += "✘-橫向的所有數字必須不同\n";
- }
- else
- {
- WrongMessage += "✓-橫向的所有數字必須不同\n";
- }
- if (switcherL == false)
- {
- WrongMessage += "✘-直向的所有數字必須不同\n";
- }
- else
- {
- WrongMessage += "✓-直向的所有數字必須不同\n";
- }
- MessageBox.Show(WrongMessage);
- }
- }
- private Random random = new Random();
- int[,] answer = {{1,2,3,4,5,6,7,8,9},
- {4,5,6,7,8,9,1,2,3},
- {7,8,9,1,2,3,4,5,6},
- {8,9,7,2,3,1,5,6,4},
- {5,6,4,8,9,7,2,3,1},
- {3,1,2,5,6,4,8,9,7},
- {2,3,1,6,4,5,9,7,8},
- {6,4,5,9,7,8,3,1,2},
- {9,7,8,3,1,2,6,4,5}};
- private void button12_Click(object sender, EventArgs e)
- {
- for (int i = 0; i < 9; i++)
- {
- for (int j = 0; j < 9; j++)
- {
- arraysH[i, j].Text = answer[i,j].ToString();
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement