//event when a case of the grid is clicked private void caseIsClicked(object sender, CaseClick e) { if (!gameIsOver) { clickedCaseTemp = (Sudoku_Label_Nbr)sender; Console.WriteLine("Case Clicked is : [ " + clickedCaseTemp.Coordinates[0] + " , " + clickedCaseTemp.Coordinates[1] + " ] and has been put in temporary memory to be re-used easily"); } }
//onInfoExchange private void client_infoExchange(object sender, commArgs e) { if (e.Reception) { if (e.ObjectData is int[]) { foreach (Control grid_9x9 in this.panel_SudokuGrid.Controls) { if (grid_9x9 is Grid_9x9) { foreach (Control grid_3x3 in grid_9x9.Controls) { if (grid_3x3 is Grid_3x3) { foreach (Sudoku_Label_Nbr caseLabel in grid_3x3.Controls) { if (caseLabel.Coordinates[0] == ((int[])e.ObjectData)[0] && caseLabel.Coordinates[1] == ((int[])e.ObjectData)[1]) { receivedCase = caseLabel; receivedCase.Text = ((int[])e.ObjectData)[2].ToString(); receivedCase.isRight = true; Console.WriteLine("We received a case ! Coordinates are : [ " + receivedCase.Coordinates[0] + " , " + receivedCase.Coordinates[1] + " ]" + "\nAnd the number is " + receivedCase.Text); receivedCase.BackColor = Color.DeepSkyBlue; hiddenCount -= 1; Console.WriteLine(hiddenCount + "case(s) left to find until the end !"); checkEndGame(); } } } } } } } else if (e.ObjectData is Sudoku_Nbrs_Gen) { generatedGridNbrs = (Sudoku_Nbrs_Gen)e.ObjectData; visualGrid.Fill(generatedGridNbrs); //hiddenCount = visualGrid.HideDetermined(generatedGridNbrs.NumbersToKeep); visualGrid.HideDetermined(generatedGridNbrs.NumbersToKeep); } else if (e.ObjectData is string) { switch (((string)e.ObjectData).Split(',')[0]) { case "hiddenCount": hiddenCount = int.Parse(((string)e.ObjectData).Split(',')[1]); break; } } else { Console.WriteLine("Data received but not managed"); } } }
private void server_InfoExchange(object sender, commArgs e) { if (e.Reception) { if (e.ObjectData is int[]) { foreach (Control grid_9x9 in this.panel_SudokuGrid.Controls) { if (grid_9x9 is Grid_9x9) { foreach (Control grid_3x3 in grid_9x9.Controls) { if (grid_3x3 is Grid_3x3) { foreach (Sudoku_Label_Nbr caseLabel in grid_3x3.Controls) { if (caseLabel.Coordinates[0] == ((int[])e.ObjectData)[0] && caseLabel.Coordinates[1] == ((int[])e.ObjectData)[1]) { receivedCase = caseLabel; receivedCase.Text = ((int[])e.ObjectData)[2].ToString(); receivedCase.isRight = true; Console.WriteLine("We received a case ! Coordinates are : [ " + receivedCase.Coordinates[0] + " , " + receivedCase.Coordinates[1] + " ]" + "\nAnd the number is " + receivedCase.Text); receivedCase.BackColor = Color.DeepSkyBlue; hiddenCount -= 1; Console.WriteLine(hiddenCount + "case(s) left to find until the end !"); checkEndGame(); } } } } } } } else { Console.WriteLine("Data received but not managed"); } } }