Example #1
0
        public Matchfield ReflactHorizontal()
        {
            Matchfield output = null;



            return(output);
        }
Example #2
0
        public Matchfield ReflactVertical()
        {
            Matchfield output = null;



            return(output);
        }
Example #3
0
        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);
        }
Example #7
0
        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);
        }
Example #9
0
 public ReflectService(Matchfield matchfield)
 {
     _matchfield = matchfield;
 }
Example #10
0
        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;
 }