Exemplo n.º 1
0
        public void Should_CreateLayersCorrectly(int[][] expected, string input, int width, int height)
        {
            _streamReader = StreamHelper.GetStream(input);
            var result = new Eight(width, height).ComputeLayers(_streamReader);

            Assert.Equal(expected, result);
        }
Exemplo n.º 2
0
        public void Eight()
        {
            var problem = new Eight();
            var result  = (ulong)problem.Solve();

            result.Should().Be(23514624000);
        }
Exemplo n.º 3
0
        public void Should_ComputeAnswerCorrectly(string expected, string input, int width, int height)
        {
            _streamReader = StreamHelper.GetStream(input);
            var result = new Eight(width, height).Run(_streamReader);

            Assert.Equal(expected, result);
        }
Exemplo n.º 4
0
        private void ParseResult(string[] right)
        {
            for (int i = 0; i < right.Length; i++)
            {
                var str = right[i];
                if (str.Length == One.Length && str.All(b => One.Contains(b)))
                {
                    ResultArray[i] = 1;
                }
                if (str.Length == Four.Length && str.All(b => Four.Contains(b)))
                {
                    ResultArray[i] = 4;
                }
                if (str.Length == Seven.Length && str.All(b => Seven.Contains(b)))
                {
                    ResultArray[i] = 7;
                }
                if (str.Length == Eight.Length && str.All(b => Eight.Contains(b)))
                {
                    ResultArray[i] = 8;
                }

                //Part 2
                //6 parts - 0,6,9
                if (str.Length == Zero.Length && str.All(b => Zero.Contains(b)))
                {
                    ResultArray[i] = 0;
                }
                if (str.Length == Six.Length && str.All(b => Six.Contains(b)))
                {
                    ResultArray[i] = 6;
                }
                if (str.Length == Nine.Length && str.All(b => Nine.Contains(b)))
                {
                    ResultArray[i] = 9;
                }

                //5 parts - 2,3,5
                if (str.Length == Two.Length && str.All(b => Two.Contains(b)))
                {
                    ResultArray[i] = 2;
                }
                if (str.Length == Three.Length && str.All(b => Three.Contains(b)))
                {
                    ResultArray[i] = 3;
                }
                if (str.Length == Five.Length && str.All(b => Five.Contains(b)))
                {
                    ResultArray[i] = 5;
                }
            }
            if (ResultArray.Any(a => a < 0))
            {
                throw new Exception();
            }

            //Part 2
            ResultNumber = Convert.ToInt32(ResultArray[0].ToString() + ResultArray[1].ToString() + ResultArray[2].ToString() + ResultArray[3].ToString());
        }
Exemplo n.º 5
0
        public void Test_Eight()
        {
            var number = Eight.GetNumber();

            Assert.AreEqual(1000, number.Count);
            Assert.AreEqual(7, number[0]);
            Assert.AreEqual(0, number[number.Count - 1]);

            Assert.AreEqual(5832, Eight.GetLargestProduct(4));
        }
Exemplo n.º 6
0
 /// <summary>
 /// Use second set of persian characters in unicode ( '\u06F0', '\u06F1', ... , '\u06F9' )
 /// </summary>
 public void UseSecondNumerics()
 {
     Zero.SetData('\u06F0');
     One.SetData('\u06F1');
     Two.SetData('\u06F2');
     Three.SetData('\u06F3');
     Four.SetData('\u06F4');
     Five.SetData('\u06F5');
     Six.SetData('\u06F6');
     Seven.SetData('\u06F7');
     Eight.SetData('\u06F8');
     Nine.SetData('\u06F9');
 }
Exemplo n.º 7
0
 /// <summary>
 /// Use first set of persian characters in unicode ( '\u0660', '\u0661', ... , '\u0669' )
 /// </summary>
 public void UseFirstNumerics()
 {
     Zero.SetData('\u0660');
     One.SetData('\u0661');
     Two.SetData('\u0662');
     Three.SetData('\u0663');
     Four.SetData('\u0664');
     Five.SetData('\u0665');
     Six.SetData('\u0666');
     Seven.SetData('\u0667');
     Eight.SetData('\u0668');
     Nine.SetData('\u0669');
 }
Exemplo n.º 8
0
 public TryOutNumbers(Color color)
 {
     zero  = new Zero(color);
     one   = new One(color);
     two   = new Two(color);
     three = new Three(color);
     four  = new Four(color);
     five  = new Five(color);
     six   = new Six(color);
     seven = new Seven(color);
     eight = new Eight(color);
     nine  = new Nine(color);
 }
Exemplo n.º 9
0
        internal static unsafe canvas_t *Can(IntPtr luaState)
        {
            var state = Lua.FromIntPtr(luaState);

            canvas_t *c = (canvas_t *)state.ToUserData(Lua.UpValueIndex(1));

            if (c == null)
            {
                Console.WriteLine("ID-10T: CANVAS IS NULL\n");
                Eight.Quit();
            }

            return(c);
        }
Exemplo n.º 10
0
 public List <int> GetList(List <int> answer)
 {
     One?.GetList(answer);
     answer.Add(value);
     Two?.GetList(answer);
     Three?.GetList(answer);
     Four?.GetList(answer);
     Five?.GetList(answer);
     Six?.GetList(answer);
     Seven?.GetList(answer);
     Eight?.GetList(answer);
     Nine?.GetList(answer);
     O?.GetList(answer);
     return(answer);
 }
Exemplo n.º 11
0
        public static void Dispose()
        {
            GrassTexture.Dispose();
            WaterTexture.Dispose();
            ForestTexture.Dispose();
            HouseTexture.Dispose();
            MountainTexture.Dispose();
            Building.Dispose();

            Zero.Dispose();
            One.Dispose();
            Two.Dispose();
            Three.Dispose();
            Five.Dispose();
            Six.Dispose();
            Eight.Dispose();
            Nine.Dispose();

            Turbine.Dispose();
        }
Exemplo n.º 12
0
        private void Parse(string[] left)
        {
            One   = left.Where(a => a.Count() == 2).FirstOrDefault();
            Four  = left.Where(a => a.Count() == 4).FirstOrDefault();
            Seven = left.Where(a => a.Count() == 3).FirstOrDefault();
            Eight = "abcdefg";

            //6 parts - 0,6,9
            Six = left.Where(a => a.Count() == 6).Single(a => One.All(b => a.Contains(b)) == false);
            char   rightUp         = Eight.First(a => Six.Contains(a) == false);
            string leftUpAndMiddle = string.Concat(Four.Where(a => One.Contains(a) == false));

            Nine = left.Where(a => a.Count() == 6).First(a => (a.All(b => Six.Contains(b)) == false) && leftUpAndMiddle.All(b => a.Contains(b)));
            Zero = left.Where(a => a.Count() == 6).First(a => (a.All(b => Nine.Contains(b)) == false) && (a.All(b => Six.Contains(b)) == false));

            //5 parts - 2,3,5
            Three = left.Where(a => a.Count() == 5).Single(a => One.All(b => a.Contains(b)));
            Two   = left.Where(a => a.Count() == 5).Single(a => a.Contains(rightUp) && (a.All(b => Three.Contains(b)) == false));
            Five  = left.Where(a => a.Count() == 5).First(a => (a.All(b => Two.Contains(b)) == false) && (a.All(b => Three.Contains(b)) == false));
        }
Exemplo n.º 13
0
        public static float[,] getControlPointsFor(int start)
        {
            switch (start)
            {
            case (-1):
                return(Null.getInstance().getControlPoints());

            case 0:
                return(Zero.getInstance().getControlPoints());

            case 1:
                return(One.getInstance().getControlPoints());

            case 2:
                return(Two.getInstance().getControlPoints());

            case 3:
                return(Three.getInstance().getControlPoints());

            case 4:
                return(Four.getInstance().getControlPoints());

            case 5:
                return(Five.getInstance().getControlPoints());

            case 6:
                return(Six.getInstance().getControlPoints());

            case 7:
                return(Seven.getInstance().getControlPoints());

            case 8:
                return(Eight.getInstance().getControlPoints());

            case 9:
                return(Nine.getInstance().getControlPoints());

            default:
                throw new ArgumentException("Unsupported number requested");
            }
        }
Exemplo n.º 14
0
        private void Go_Click(object sender, EventArgs e)
        {
            //1
            Label label4 = new Label
            {
                AutoSize = true,
                Font     = new System.Drawing.Font("Arial Narrow", 15.2F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204))),
                Location = new System.Drawing.Point(12, 50),
                Name     = "label3",
                Size     = new System.Drawing.Size(108, 22),
                TabIndex = 0,
                Text     = "Результат:"
            };

            this.Controls.Add(label4);
            List <double> list  = UtilsW.StringToList <double>(input.Text, ' ');
            Eight         logic = new Eight(list);
            List <double> ll    = logic.ListReverse();

            label2.Text = UtilsW.ListtoString <double>(ll, ' ');
        }
Exemplo n.º 15
0
        void ReleaseDesignerOutlets()
        {
            if (Clear != null)
            {
                Clear.Dispose();
                Clear = null;
            }

            if (Decimal != null)
            {
                Decimal.Dispose();
                Decimal = null;
            }

            if (Divise != null)
            {
                Divise.Dispose();
                Divise = null;
            }

            if (Eight != null)
            {
                Eight.Dispose();
                Eight = null;
            }

            if (Equals != null)
            {
                Equals.Dispose();
                Equals = null;
            }

            if (Five != null)
            {
                Five.Dispose();
                Five = null;
            }

            if (Four != null)
            {
                Four.Dispose();
                Four = null;
            }

            if (Minus != null)
            {
                Minus.Dispose();
                Minus = null;
            }

            if (Multiply != null)
            {
                Multiply.Dispose();
                Multiply = null;
            }

            if (Nine != null)
            {
                Nine.Dispose();
                Nine = null;
            }

            if (One != null)
            {
                One.Dispose();
                One = null;
            }

            if (Plus != null)
            {
                Plus.Dispose();
                Plus = null;
            }

            if (ResultField != null)
            {
                ResultField.Dispose();
                ResultField = null;
            }

            if (Seven != null)
            {
                Seven.Dispose();
                Seven = null;
            }

            if (Six != null)
            {
                Six.Dispose();
                Six = null;
            }

            if (Three != null)
            {
                Three.Dispose();
                Three = null;
            }

            if (ToggleSign != null)
            {
                ToggleSign.Dispose();
                ToggleSign = null;
            }

            if (Two != null)
            {
                Two.Dispose();
                Two = null;
            }

            if (Zero != null)
            {
                Zero.Dispose();
                Zero = null;
            }
        }
Exemplo n.º 16
0
        /*Functionality Added to make the calculator work with Keyboard NumberPad
         * When the correct Key is detected it will fire off the corresponding button press*/
        private void Window_KeyDownPreview(object sender, KeyEventArgs e)
        {
            switch (e.Key)
            {
            case Key.NumPad0:
                Zero.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad1:
                One.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad2:
                Two.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad3:
                Three.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad4:
                Four.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad5:
                Five.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad6:
                Six.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad7:
                Seven.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad8:
                Eight.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.NumPad9:
                Nine.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.Add:
                Plus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.Subtract:
                Minus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.Multiply:
                Multiply.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.Divide:
                Divide.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;

            case Key.Enter:
                Equals.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                break;
            }
        }
Exemplo n.º 17
0
        //OFF


        /*************************************************************
        *  Obsługa przycisków
        *************************************************************/
        private void Window_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.Key == Key.D1 || e.Key == Key.NumPad1)
            {
                One.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D2 || e.Key == Key.NumPad2)
            {
                Two.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D3 || e.Key == Key.NumPad3)
            {
                Three.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D4 || e.Key == Key.NumPad4)
            {
                Four.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D5 || e.Key == Key.NumPad5)
            {
                Five.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D6 || e.Key == Key.NumPad6)
            {
                Six.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D7 || e.Key == Key.NumPad7)
            {
                Seven.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D8 || e.Key == Key.NumPad8)
            {
                if (Keyboard.IsKeyDown(Key.LeftShift))
                {
                    Star.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                }
                else
                {
                    Eight.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
                }
            }
            else if (e.Key == Key.D9 || e.Key == Key.NumPad9)
            {
                Nine.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.D0 || e.Key == Key.NumPad0)
            {
                Zero.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }

            /**********************************************************/

            /*else if (e.Key == Key.Enter)
             * {
             *  Equals.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
             * }*/
            else if (e.Key == Key.OemComma || e.Key == Key.OemPeriod || e.Key == Key.Decimal)
            {
                Dot.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.OemMinus || e.Key == Key.Subtract)
            {
                Minus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.OemPlus || e.Key == Key.Add)
            {
                Plus.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.Delete)
            {
                AC.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.Back)
            {
                C.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.Divide || e.Key == Key.OemBackslash || e.Key == Key.OemQuestion || e.Key == Key.Oem5)
            {
                Slash.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.Multiply)
            {
                Star.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.P)
            {
                MP.RaiseEvent(new RoutedEventArgs(Button.ClickEvent));
            }
            else if (e.Key == Key.Escape)
            {
                Application.Current.Shutdown();
            }
            Console.WriteLine(e.Key.ToString());
        }