Advertisement
Guest User

Untitled

a guest
Jan 20th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.21 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10.  
  11. namespace Sudoku_CHABRIER_REGNARD
  12. {
  13. public partial class Form1 : Form
  14. {
  15. private static int COLUMN_WIDTH = 70;
  16. private static int ROW_HEIGHT = 70;
  17. private Sudoku sudokuGrid;
  18. private int level;
  19. private bool isGenarated;
  20. private bool onlyNumbers;
  21. private bool allFilled;
  22. Image img;
  23. public Form1()
  24. {
  25. InitializeComponent();
  26. sudoku.RowCount = 9;
  27. sudoku.ColumnCount = 9;
  28. sudoku.AllowUserToResizeColumns = false;
  29. sudoku.AllowUserToResizeRows = false;
  30. for (int i = 0; i < 9; i++)
  31. {
  32. sudoku.Columns[i].Width = COLUMN_WIDTH;
  33. for (int j = 0; j < 9; j++)
  34. {
  35. sudoku.Rows[j].Height = ROW_HEIGHT;
  36. sudoku.Rows[j].Cells[i].Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
  37. }
  38.  
  39. }
  40.  
  41. sudokuGrid = new Sudoku();
  42. sudoku.Columns[2].DividerWidth = 3;
  43. sudoku.Columns[5].DividerWidth = 3;
  44. sudoku.Rows[2].DividerHeight = 3;
  45. sudoku.Rows[5].DividerHeight = 3;
  46.  
  47. }
  48.  
  49. private void gen_Click_1(object sender, EventArgs e)
  50. {
  51.  
  52. sudokuGrid = new Sudoku();
  53.  
  54. sudokuGrid.setLevel(level);
  55. sudokuGrid.launchGame();
  56.  
  57. isGenarated = true;
  58.  
  59. for (int i = 0; i < 9; i++)
  60. {
  61. for (int j = 0; j < 9; j++)
  62. {
  63. sudoku.Rows[i].Cells[j].Selected = false;
  64. sudoku.Rows[i].Cells[j].Style.BackColor = Color.LightGray;
  65. sudoku.Rows[i].Cells[j].ReadOnly = true;
  66. sudoku.Rows[i].Cells[j].Value = sudokuGrid.getValueIJ(i, j);
  67. if ((int)sudoku.Rows[i].Cells[j].Value == 0)
  68. {
  69. sudoku.Rows[i].Cells[j].Value = null;
  70. sudoku.Rows[i].Cells[j].Style.BackColor = Color.White;
  71. sudoku.Rows[i].Cells[j].ReadOnly = false;
  72.  
  73. }
  74.  
  75. }
  76. }
  77. }
  78.  
  79. private void check_Click(object sender, EventArgs e)
  80. {
  81. message.Text = "";
  82. onlyNumbers = true;
  83. allFilled = true;
  84. if (isGenarated)
  85. {
  86.  
  87.  
  88. for (int i = 0; i < 9; i++)
  89. {
  90. for (int j = 0; j < 9; j++)
  91. {
  92.  
  93. try
  94. {
  95. int value;
  96. if (sudoku.Rows[i].Cells[j].Value == null)
  97. {
  98. value = 0;
  99. throw new ArgumentNullException();
  100. }
  101. else
  102. value = int.Parse(sudoku.Rows[i].Cells[j].Value.ToString());
  103. sudokuGrid.setIJ(i, j, value);
  104. }
  105.  
  106.  
  107. catch (InvalidCastException exp)
  108. {
  109. onlyNumbers = false;
  110. }
  111. catch (ArgumentNullException exp)
  112. {
  113. allFilled = false;
  114.  
  115. }
  116. catch (FormatException exp)
  117. {
  118. onlyNumbers = false;
  119. }
  120. }
  121. }
  122.  
  123. if (!onlyNumbers)
  124. {
  125. message.ForeColor = Color.White;
  126. message.Text += "Enter only numbers !\r\n";
  127. }
  128. if (!allFilled)
  129. {
  130. message.ForeColor = Color.White;
  131. message.Text += "Fill all boxes !\r\n";
  132. }
  133.  
  134. if (sudokuGrid.checkAnswer())
  135. {
  136. message.ForeColor = Color.Green;
  137. message.Text = "You win !\r\n";
  138. }
  139. else
  140. {
  141. message.ForeColor = Color.White;
  142. message.Text += "Try again !\r\n";
  143. }
  144. }
  145. else
  146. {
  147. message.ForeColor = Color.White;
  148. message.Text = "Generate grid first!\r\n";
  149. }
  150. }
  151.  
  152. private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
  153. {
  154.  
  155. }
  156.  
  157. private void button1_Click(object sender, EventArgs e)
  158. {
  159. Form2 menu = new Form2();
  160. this.Hide();
  161. menu.Show();
  162.  
  163.  
  164. }
  165.  
  166. public void setLevel(int level)
  167. {
  168. this.level = level;
  169. }
  170. }
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement