private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            #region VideoStuff
            nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_VideoFrameReady);

            //Initialize to do skeletal tracking
            nui.Initialize(RuntimeOptions.UseSkeletalTracking | RuntimeOptions.UseColor);

            nui.VideoStream.Open(ImageStreamType.Video, 2, ImageResolution.Resolution640x480, ImageType.Color);

            #region TransformSmooth
            //Must set to true and set after call to Initialize
            nui.SkeletonEngine.TransformSmooth = true;

            //Use to transform and reduce jitter
            var parameters = new TransformSmoothParameters
            {
                Smoothing = 0.75f,
                Correction = 0.0f,
                Prediction = 0.0f,
                JitterRadius = 0.05f,
                MaxDeviationRadius = 0.04f
            };

            nui.SkeletonEngine.SmoothParameters = parameters;

            #endregion

            //add event to receive skeleton data
            nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

            #endregion

            try
            {
                recognizer = new Recognizer();
            }
            catch
            {
                recognizer = null;
            }
            if ((recognizer == null) || !recognizer.IsValid())
            {
                recognizer = null;
            }
            else
                recognizer.SaidSomething += recognizer_SaidSomething;

            //send data
            string[] stuff = new string[(int)JointID.Count * 2];
            targetX = (float)(rand.Next(540) + 50);
            targetY = (float)(rand.Next(230) + 100);
            Canvas.SetLeft(target, targetX-100);
            Canvas.SetTop(target, targetY-100);
            Console.WriteLine(targetX + " " + targetY);
        }
 void recognizer_SaidSomething(object sender, Recognizer.SaidSomethingArgs e)
 {
     switch (e.Verb)
     {
         case Recognizer.Verbs.Stop:
             target.Visibility = Visibility.Hidden;
             break;
         case Recognizer.Verbs.Start:
             target.Visibility = Visibility.Visible;
             ScoreNumber.Content = "0";
             break;
     }
 }
        private void Window_Loaded(object sender, EventArgs e)
        {
            playfield.ClipToBounds = true;

            fallingThings = new FallingThings(MaxShapes, targetFramerate, NumIntraFrames);

            UpdatePlayfieldSize();

            fallingThings.SetGravity(dropGravity);
            fallingThings.SetDropRate(dropRate);
            fallingThings.SetSize(dropSize);
            fallingThings.SetPolies(PolyType.All);
            fallingThings.SetGameMode(FallingThings.GameMode.Off);

            if ((nui != null) && InitializeNui())
            {
                nui.VideoFrameReady += new EventHandler<ImageFrameReadyEventArgs>(nui_ColorFrameReady);
                nui.SkeletonFrameReady += new EventHandler<SkeletonFrameReadyEventArgs>(nui_SkeletonFrameReady);

                try
                {
                    recognizer = new Recognizer();
                }
                catch
                {
                    recognizer = null;
                }
                if ((recognizer== null) || !recognizer.IsValid())
                {
                    BannerText.NewBanner(Properties.Resources.NoSpeechError, screenRect, false, Color.FromArgb(90, 255, 255, 255));
                    recognizer = null;
                }
                else
                    recognizer.SaidSomething += recognizer_SaidSomething;
            }
            else
            {
                BannerText.NewBanner(Properties.Resources.NoKinectError, screenRect, false, Color.FromArgb(90, 255, 255, 255));
            }

            popSound.Stream = Properties.Resources.Pop_5;
            hitSound.Stream = Properties.Resources.Hit_2;
            squeezeSound.Stream = Properties.Resources.Squeeze;

            popSound.Play();

            Win32.timeBeginPeriod(TimerResolution);
            var gameThread = new Thread(GameThread);
            gameThread.SetApartmentState(ApartmentState.STA);
            gameThread.Start();

            FlyingText.NewFlyingText(screenRect.Width / 30, new Point(screenRect.Width / 2, screenRect.Height / 2), "Shapes!");
        }
 void recognizer_SaidSomething(object sender, Recognizer.SaidSomethingArgs e)
 {
     switch (e.Verb)
     {
         case Recognizer.Verbs.Print:
             Console.WriteLine("X Value "+currentJoints[JointID.HandRight].Position.X);
             break;
     }
 }
 void recognizer_SaidSomething(object sender, Recognizer.SaidSomethingArgs e)
 {
     FlyingText.NewFlyingText(screenRect.Width / 30, new Point(screenRect.Width / 2, screenRect.Height / 2), e.Matched);
     switch (e.Verb)
     {
         case Recognizer.Verbs.Pause:
             fallingThings.SetDropRate(0);
             fallingThings.SetGravity(0);
             break;
         case Recognizer.Verbs.Resume:
             fallingThings.SetDropRate(dropRate);
             fallingThings.SetGravity(dropGravity);
             break;
         case Recognizer.Verbs.Reset:
             dropRate = DefaultDropRate;
             dropSize = DefaultDropSize;
             dropGravity = DefaultDropGravity;
             fallingThings.SetPolies(PolyType.All);
             fallingThings.SetDropRate(dropRate);
             fallingThings.SetGravity(dropGravity);
             fallingThings.SetSize(dropSize);
             fallingThings.SetShapesColor(Color.FromRgb(0, 0, 0), true);
             fallingThings.Reset();
             break;
         case Recognizer.Verbs.DoShapes:
             fallingThings.SetPolies(e.Shape);
             break;
         case Recognizer.Verbs.RandomColors:
             fallingThings.SetShapesColor(Color.FromRgb(0, 0, 0), true);
             break;
         case Recognizer.Verbs.Colorize:
             fallingThings.SetShapesColor(e.RGBColor, false);
             break;
         case Recognizer.Verbs.ShapesAndColors:
             fallingThings.SetPolies(e.Shape);
             fallingThings.SetShapesColor(e.RGBColor, false);
             break;
         case Recognizer.Verbs.More:
             dropRate *= 1.5;
             fallingThings.SetDropRate(dropRate);
             break;
         case Recognizer.Verbs.Fewer:
             dropRate /= 1.5;
             fallingThings.SetDropRate(dropRate);
             break;
         case Recognizer.Verbs.Bigger:
             dropSize *= 1.5;
             if (dropSize > MaxShapeSize)
                 dropSize = MaxShapeSize;
             fallingThings.SetSize(dropSize);
             break;
         case Recognizer.Verbs.Biggest:
             dropSize = MaxShapeSize;
             fallingThings.SetSize(dropSize);
             break;
         case Recognizer.Verbs.Smaller:
             dropSize /= 1.5;
             if (dropSize < MinShapeSize)
                 dropSize = MinShapeSize;
             fallingThings.SetSize(dropSize);
             break;
         case Recognizer.Verbs.Smallest:
             dropSize = MinShapeSize;
             fallingThings.SetSize(dropSize);
             break;
         case Recognizer.Verbs.Faster:
             dropGravity *= 1.25;
             if (dropGravity > 4.0)
                 dropGravity = 4.0;
             fallingThings.SetGravity(dropGravity);
             break;
         case Recognizer.Verbs.Slower:
             dropGravity /= 1.25;
             if (dropGravity < 0.25)
                 dropGravity = 0.25;
             fallingThings.SetGravity(dropGravity);
             break;
     }
 }