public Matchfield ReflactHorizontal() { Matchfield output = null; return(output); }
public Matchfield ReflactVertical() { Matchfield output = null; return(output); }
public void Init() { tempPath = Path.GetTempFileName(); Square[] squares = new Square[9]; Square squareA = new Square(); squareA.Set(new[] { 5, 3, 4, 6, 7, 2, 1, 9, 8 }); squares[0] = squareA; Square squareB = new Square(); squareB.Set(new[] { 6, 7, 8, 1, 9, 5, 3, 4, 2 }); squares[1] = squareB; Square squareC = new Square(); squareC.Set(new[] { 9, 1, 2, 3, 4, 8, 5, 6, 7 }); squares[2] = squareC; Square squareD = new Square(); squareD.Set(new[] { 8, 5, 9, 4, 2, 6, 7, 1, 3 }); squares[3] = squareD; Square squareE = new Square(); squareE.Set(new[] { 7, 6, 1, 8, 5, 3, 9, 2, 4 }); squares[4] = squareE; Square squareF = new Square(); squareF.Set(new[] { 4, 2, 3, 7, 9, 1, 8, 5, 6 }); squares[5] = squareF; Square squareG = new Square(); squareG.Set(new[] { 9, 6, 1, 2, 8, 7, 3, 4, 5 }); squares[6] = squareG; Square squareH = new Square(); squareH.Set(new[] { 5, 3, 7, 4, 1, 9, 2, 8, 6 }); squares[7] = squareH; Square squareI = new Square(); squareI.Set(new[] { 2, 8, 4, 6, 3, 5, 1, 7, 9 }); squares[8] = squareI; matchfield = new Matchfield(squares); }
public void SaveMatchfield(Matchfield matchfield) { if (!File.Exists(Path)) { using StreamWriter sw = File.CreateText(Path); sw.WriteLine(Serialize(matchfield)); } else { using StreamWriter sw = File.AppendText(Path); sw.WriteLine(Serialize(matchfield)); } }
private string Serialize(Matchfield matchfield) { string output = string.Empty; foreach (var square in matchfield.Squares) { foreach (int field in square.Fields) { output += field.ToString(); } } return(output); }
public Matchfield ReflactVertical() { Matchfield output = null; int[,] field = new int[9, 9]; for (int row = 0; row < 9; row++) { int[] rowValues = _matchfield.GetRow(row); int[] reflection = ReflectRow(rowValues); for (int column = 0; column < 9; column++) { field[row, column] = reflection[column]; } } return(output); }
public void TestDeserialize() { string data = "534672198678195342912348567859426713761853924423791856961287345537419286284635179"; MatchfieldStoreService matchfieldStoreService = new MatchfieldStoreService(tempPath); Type type = matchfieldStoreService.GetType(); BindingFlags bindingAttr = BindingFlags.NonPublic | BindingFlags.Instance; MethodInfo method = type.GetMethod("Deserialize", bindingAttr); var squares = (Square[])method.Invoke(matchfieldStoreService, new object[] { data }); Matchfield tempMatchfield = new Matchfield(squares); Assert.AreEqual(9, squares.Length); method = type.GetMethod("Serialize", bindingAttr); var actual = (string)method.Invoke(matchfieldStoreService, new object[] { tempMatchfield }); Assert.AreEqual(data, actual); }
public Matchfield GetRandomMatchfield() { Matchfield[] matchfields = LoadMatchfields(); Matchfield output; if (matchfields.Length == 0) { Square[] squares = MatchfieldCreatorService.GetSquares(); output = new Matchfield(squares); } else if (matchfields.Length == 1) { output = matchfields[0]; } else { Random random = new Random(); int index = random.Next(0, matchfields.Length); output = matchfields[index]; } return(output); }
public ReflectService(Matchfield matchfield) { _matchfield = matchfield; }
public void FieldsTest() { Matchfield matchfield = new Matchfield(); int[,] array = matchfield.Field; #region ROW0 - ROW2 for (int i = 0; i < 9; i += 3) { int rowNumber = i / 3; int expacted_0 = matchfield.Squares[0].Fields[i]; Assert.AreEqual(expacted_0, array[rowNumber, 0]); Assert.AreEqual(expacted_0, matchfield.GetRow(rowNumber)[0]); int expacted_1 = matchfield.Squares[0].Fields[i + 1]; Assert.AreEqual(expacted_1, array[rowNumber, 1]); Assert.AreEqual(expacted_1, matchfield.GetRow(rowNumber)[1]); int expacted_2 = matchfield.Squares[0].Fields[i + 2]; Assert.AreEqual(expacted_2, array[rowNumber, 2]); Assert.AreEqual(expacted_2, matchfield.GetRow(rowNumber)[2]); int expacted_3 = matchfield.Squares[1].Fields[i]; Assert.AreEqual(expacted_3, array[rowNumber, 3]); Assert.AreEqual(expacted_3, matchfield.GetRow(rowNumber)[3]); int expacted_4 = matchfield.Squares[1].Fields[i + 1]; Assert.AreEqual(expacted_4, array[rowNumber, 4]); Assert.AreEqual(expacted_4, matchfield.GetRow(rowNumber)[4]); int expacted_5 = matchfield.Squares[1].Fields[i + 2]; Assert.AreEqual(expacted_5, array[rowNumber, 5]); Assert.AreEqual(expacted_5, matchfield.GetRow(rowNumber)[5]); int expacted_6 = matchfield.Squares[2].Fields[i]; Assert.AreEqual(expacted_6, array[rowNumber, 6]); Assert.AreEqual(expacted_6, matchfield.GetRow(rowNumber)[6]); int expacted_7 = matchfield.Squares[2].Fields[i + 1]; Assert.AreEqual(expacted_7, array[rowNumber, 7]); Assert.AreEqual(expacted_7, matchfield.GetRow(rowNumber)[7]); int expacted_8 = matchfield.Squares[2].Fields[i + 2]; Assert.AreEqual(expacted_8, array[rowNumber, 8]); Assert.AreEqual(expacted_8, matchfield.GetRow(rowNumber)[8]); } #endregion #region ROW3 - ROW5 for (int i = 0; i < 9; i += 3) { int rowNumber = (i / 3) + 3; int expacted_0 = matchfield.Squares[3].Fields[i]; Assert.AreEqual(expacted_0, array[rowNumber, 0]); Assert.AreEqual(expacted_0, matchfield.GetRow(rowNumber)[0]); int expacted_1 = matchfield.Squares[3].Fields[i + 1]; Assert.AreEqual(expacted_1, array[rowNumber, 1]); Assert.AreEqual(expacted_1, matchfield.GetRow(rowNumber)[1]); int expacted_2 = matchfield.Squares[3].Fields[i + 2]; Assert.AreEqual(expacted_2, array[rowNumber, 2]); Assert.AreEqual(expacted_2, matchfield.GetRow(rowNumber)[2]); int expacted_3 = matchfield.Squares[4].Fields[i]; Assert.AreEqual(expacted_3, array[rowNumber, 3]); Assert.AreEqual(expacted_3, matchfield.GetRow(rowNumber)[3]); int expacted_4 = matchfield.Squares[4].Fields[i + 1]; Assert.AreEqual(expacted_4, array[rowNumber, 4]); Assert.AreEqual(expacted_4, matchfield.GetRow(rowNumber)[4]); int expacted_5 = matchfield.Squares[4].Fields[i + 2]; Assert.AreEqual(expacted_5, array[rowNumber, 5]); Assert.AreEqual(expacted_5, matchfield.GetRow(rowNumber)[5]); int expacted_6 = matchfield.Squares[5].Fields[i]; Assert.AreEqual(expacted_6, array[rowNumber, 6]); Assert.AreEqual(expacted_6, matchfield.GetRow(rowNumber)[6]); int expacted_7 = matchfield.Squares[5].Fields[i + 1]; Assert.AreEqual(expacted_7, array[rowNumber, 7]); Assert.AreEqual(expacted_7, matchfield.GetRow(rowNumber)[7]); int expacted_8 = matchfield.Squares[5].Fields[i + 2]; Assert.AreEqual(expacted_8, array[rowNumber, 8]); Assert.AreEqual(expacted_8, matchfield.GetRow(rowNumber)[8]); } #endregion #region ROW6 - ROW8 for (int i = 0; i < 9; i += 3) { int rowNumber = (i / 3) + 6; int expacted_0 = matchfield.Squares[6].Fields[i]; Assert.AreEqual(expacted_0, array[rowNumber, 0]); Assert.AreEqual(expacted_0, matchfield.GetRow(rowNumber)[0]); int expacted_1 = matchfield.Squares[6].Fields[i + 1]; Assert.AreEqual(expacted_1, array[rowNumber, 1]); Assert.AreEqual(expacted_1, matchfield.GetRow(rowNumber)[1]); int expacted_2 = matchfield.Squares[6].Fields[i + 2]; Assert.AreEqual(expacted_2, array[rowNumber, 2]); Assert.AreEqual(expacted_2, matchfield.GetRow(rowNumber)[2]); int expacted_3 = matchfield.Squares[7].Fields[i]; Assert.AreEqual(expacted_3, array[rowNumber, 3]); Assert.AreEqual(expacted_3, matchfield.GetRow(rowNumber)[3]); int expacted_4 = matchfield.Squares[7].Fields[i + 1]; Assert.AreEqual(expacted_4, array[rowNumber, 4]); Assert.AreEqual(expacted_4, matchfield.GetRow(rowNumber)[4]); int expacted_5 = matchfield.Squares[7].Fields[i + 2]; Assert.AreEqual(expacted_5, array[rowNumber, 5]); Assert.AreEqual(expacted_5, matchfield.GetRow(rowNumber)[5]); int expacted_6 = matchfield.Squares[8].Fields[i]; Assert.AreEqual(expacted_6, array[rowNumber, 6]); Assert.AreEqual(expacted_6, matchfield.GetRow(rowNumber)[6]); int expacted_7 = matchfield.Squares[8].Fields[i + 1]; Assert.AreEqual(expacted_7, array[rowNumber, 7]); Assert.AreEqual(expacted_7, matchfield.GetRow(rowNumber)[7]); int expacted_8 = matchfield.Squares[8].Fields[i + 2]; Assert.AreEqual(expacted_8, array[rowNumber, 8]); Assert.AreEqual(expacted_8, matchfield.GetRow(rowNumber)[8]); } #endregion }
public MatchfieldReflectionServcie(Matchfield matchfield) { _matchfield = matchfield; }