Beispiel #1
0
 public void GenerateChain(int rowStart, int rowEnd, int nextStart, GridChain.enumDirectionType direction)
 {
     for (int index = 0; index <= rowEnd - rowStart; index++)
     {
         int fromSpot = rowStart + index;
         int toSpot   = nextStart + index;
         Chain.AddGridChain(new GridChain()
         {
             Direction      = direction,
             StopNumberFrom = fromSpot,
             StopNumberTo   = toSpot
         });
     }
 }
Beispiel #2
0
        private void AddGridChain()
        {
            // Straight All
            GenerateChain(1, 167, 2, GridChain.enumDirectionType.Straight);
            GenerateChain(169, 333, 170, GridChain.enumDirectionType.Straight);
            GenerateChain(335, 496, 336, GridChain.enumDirectionType.Straight);

            // Inward from outside
            GenerateChain(1, 24, 170, GridChain.enumDirectionType.Inward);
            GenerateChain(26, 45, 194, GridChain.enumDirectionType.Inward);
            GenerateChain(52, 56, 222, GridChain.enumDirectionType.Inward);
            GenerateChain(58, 69, 227, GridChain.enumDirectionType.Inward);
            GenerateChain(71, 74, 239, GridChain.enumDirectionType.Inward);
            GenerateChain(77, 79, 247, GridChain.enumDirectionType.Inward);
            GenerateChain(81, 84, 250, GridChain.enumDirectionType.Inward);
            GenerateChain(86, 114, 254, GridChain.enumDirectionType.Inward);
            GenerateChain(117, 117, 286, GridChain.enumDirectionType.Inward);
            GenerateChain(119, 128, 287, GridChain.enumDirectionType.Inward);
            GenerateChain(133, 134, 302, GridChain.enumDirectionType.Inward);
            GenerateChain(136, 136, 306, GridChain.enumDirectionType.Inward);
            GenerateChain(138, 141, 307, GridChain.enumDirectionType.Inward);
            GenerateChain(145, 147, 314, GridChain.enumDirectionType.Inward);
            GenerateChain(149, 150, 319, GridChain.enumDirectionType.Inward);
            GenerateChain(152, 153, 321, GridChain.enumDirectionType.Inward);
            GenerateChain(155, 164, 323, GridChain.enumDirectionType.Inward);
            GenerateChain(166, 167, 333, GridChain.enumDirectionType.Inward);

            // Inward from middle
            GenerateChain(169, 189, 336, GridChain.enumDirectionType.Inward);
            GenerateChain(191, 192, 358, GridChain.enumDirectionType.Inward);
            GenerateChain(194, 212, 360, GridChain.enumDirectionType.Inward);
            GenerateChain(222, 222, 289, GridChain.enumDirectionType.Inward);
            GenerateChain(224, 225, 391, GridChain.enumDirectionType.Inward);
            GenerateChain(227, 234, 393, GridChain.enumDirectionType.Inward);
            GenerateChain(236, 236, 402, GridChain.enumDirectionType.Inward);
            GenerateChain(238, 241, 403, GridChain.enumDirectionType.Inward);
            GenerateChain(247, 248, 414, GridChain.enumDirectionType.Inward);
            GenerateChain(250, 252, 416, GridChain.enumDirectionType.Inward);
            GenerateChain(254, 281, 419, GridChain.enumDirectionType.Inward);
            GenerateChain(286, 287, 451, GridChain.enumDirectionType.Inward);
            GenerateChain(289, 295, 454, GridChain.enumDirectionType.Inward);
            GenerateChain(302, 302, 468, GridChain.enumDirectionType.Inward);
            GenerateChain(305, 305, 472, GridChain.enumDirectionType.Inward);
            GenerateChain(307, 309, 473, GridChain.enumDirectionType.Inward);
            GenerateChain(314, 315, 480, GridChain.enumDirectionType.Inward);
            GenerateChain(320, 321, 486, GridChain.enumDirectionType.Inward);
            GenerateChain(323, 329, 488, GridChain.enumDirectionType.Inward);
            GenerateChain(331, 331, 496, GridChain.enumDirectionType.Inward);
            GenerateChain(333, 333, 497, GridChain.enumDirectionType.Inward);

            // Outward from inside
            GenerateChain(335, 356, 169, GridChain.enumDirectionType.Outward);
            GenerateChain(361, 382, 196, GridChain.enumDirectionType.Outward);
            GenerateChain(384, 389, 218, GridChain.enumDirectionType.Outward);
            GenerateChain(393, 400, 228, GridChain.enumDirectionType.Outward);
            GenerateChain(404, 408, 240, GridChain.enumDirectionType.Outward);
            GenerateChain(410, 410, 245, GridChain.enumDirectionType.Outward);
            GenerateChain(412, 413, 246, GridChain.enumDirectionType.Outward);
            GenerateChain(419, 448, 255, GridChain.enumDirectionType.Outward);
            GenerateChain(452, 463, 288, GridChain.enumDirectionType.Outward);
            GenerateChain(465, 470, 300, GridChain.enumDirectionType.Outward);
            GenerateChain(475, 475, 311, GridChain.enumDirectionType.Outward);
            GenerateChain(477, 483, 312, GridChain.enumDirectionType.Outward);
            GenerateChain(489, 494, 325, GridChain.enumDirectionType.Outward);

            // Outward from middle
            GenerateChain(169, 189, 1, GridChain.enumDirectionType.Outward);
            GenerateChain(196, 212, 29, GridChain.enumDirectionType.Outward);
            GenerateChain(214, 214, 47, GridChain.enumDirectionType.Outward);
            GenerateChain(216, 218, 48, GridChain.enumDirectionType.Outward);
            GenerateChain(220, 222, 51, GridChain.enumDirectionType.Outward);
            GenerateChain(228, 234, 60, GridChain.enumDirectionType.Outward);
            GenerateChain(240, 241, 73, GridChain.enumDirectionType.Outward);
            GenerateChain(243, 243, 76, GridChain.enumDirectionType.Outward);
            GenerateChain(246, 246, 77, GridChain.enumDirectionType.Outward);
            GenerateChain(255, 281, 88, GridChain.enumDirectionType.Outward);
            GenerateChain(283, 283, 116, GridChain.enumDirectionType.Outward);
            GenerateChain(288, 295, 121, GridChain.enumDirectionType.Outward);
            GenerateChain(297, 298, 130, GridChain.enumDirectionType.Outward);
            GenerateChain(300, 302, 132, GridChain.enumDirectionType.Outward);
            GenerateChain(304, 304, 136, GridChain.enumDirectionType.Outward);
            GenerateChain(310, 310, 143, GridChain.enumDirectionType.Outward);
            GenerateChain(312, 315, 144, GridChain.enumDirectionType.Outward);
            GenerateChain(317, 318, 149, GridChain.enumDirectionType.Outward);
            GenerateChain(325, 329, 158, GridChain.enumDirectionType.Outward);

            // Connect last squares to first
            Chain.AddGridChain(new GridChain()
            {
                Direction      = GridChain.enumDirectionType.Straight,
                StopNumberFrom = 168,
                StopNumberTo   = 1
            });
            Chain.AddGridChain(new GridChain()
            {
                Direction      = GridChain.enumDirectionType.Inward,
                StopNumberFrom = 168,
                StopNumberTo   = 169
            });
            Chain.AddGridChain(new GridChain()
            {
                Direction      = GridChain.enumDirectionType.Straight,
                StopNumberFrom = 334,
                StopNumberTo   = 168
            });
            Chain.AddGridChain(new GridChain()
            {
                Direction      = GridChain.enumDirectionType.Inward,
                StopNumberFrom = 334,
                StopNumberTo   = 335
            });
            Chain.AddGridChain(new GridChain()
            {
                Direction      = GridChain.enumDirectionType.Straight,
                StopNumberFrom = 497,
                StopNumberTo   = 335
            });
        }