Пример #1
0
        private void view_Hold(object sender, System.Windows.Input.GestureEventArgs e)
        {
            PointView view = sender as PointView;

            txt1.Text = view.PosX.ToString();
            txt2.Text = view.PosY.ToString();
        }
Пример #2
0
        private void GeneratePoints()
        {
            foreach (PointViewModel viewmodel in App.GameMainViewModel.Points)
            {
                PointView view = new PointView();
                view.SetValue(HeightProperty, Double.NaN);
                view.SetValue(WidthProperty, Double.NaN);
                Canvas.SetZIndex(view, 2);
                view.RenderTransformOrigin = new Point(0.5, 0.5);

                Binding b1 = new Binding();
                b1.Source = viewmodel;
                b1.Path   = new PropertyPath("PosX");
                b1.Mode   = BindingMode.TwoWay;

                Binding b2 = new Binding();
                b2.Source = viewmodel;
                b2.Path   = new PropertyPath("PosY");
                b2.Mode   = BindingMode.TwoWay;

                CompositeTransform tran = new CompositeTransform();
                view.RenderTransform = tran;
                tran.TranslateX      = viewmodel.PosX;
                tran.TranslateY      = viewmodel.PosY;

                view.SetBinding(PointView.posX, b1);
                view.SetBinding(PointView.posY, b2);

                view.DataContext = viewmodel;
                parentCanvas.Children.Add(view);
                view.Name = "point" + viewmodel.Id.ToString();
                _pointViewList.Add(view);
                view.DoubleTap += new System.EventHandler <System.Windows.Input.GestureEventArgs>(view_DoubleTap);

                view.Hold += new System.EventHandler <System.Windows.Input.GestureEventArgs>(view_Hold);

                view.OnBoardAnimation.Completed += new EventHandler(OnBoardAnimation_Completed);
                view.Tap += new EventHandler <GestureEventArgs>(view_Tap);
                view.SetUseDragable(true);
            }
        }
Пример #3
0
        void view_Tap(object sender, GestureEventArgs e)
        {
            PointView      view      = sender as PointView;
            PointViewModel viewmodel = view.DataContext as PointViewModel;

            //view.OnBoardAnimation.Stop();
            if (GameConstants.CURRENT_ID >= App.GameMainViewModel.CorrectWordIndex.Count)
            {
                //IsOK = false;
                return;
            }
            //if (IsOK ||  GameConstants.CURRENT_ID == 0) {
            //IsOK = false;

            if (App.GameMainViewModel.AlreadyLetter.Contains(viewmodel.Id))
            {
                //IsOK = false;
                return;
            }

            if (App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID] == viewmodel.Id ||
                (App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID] < 0 &&
                 App.GameMainViewModel.AmbigiousLetter.Contains(viewmodel.Id) &&
                 App.GameMainViewModel.AmbigiousConfusingLetter[App.GameMainViewModel.AmbigiousLetter.IndexOf(viewmodel.Id)] == App.GameMainViewModel.CorrectWordIndex[GameConstants.CURRENT_ID]))
            {
                List <int> vertices = new List <int>();

                List <PointViewModel>     vertices_out   = new List <PointViewModel>();
                List <ConnectorViewModel> connectors_out = new List <ConnectorViewModel>();
                List <PointViewModel>     vertices_in    = new List <PointViewModel>();
                List <ConnectorViewModel> connectors_in  = new List <ConnectorViewModel>();

                vertices_in.AddRange(App.GameMainViewModel.Points);
                connectors_in.AddRange(App.GameMainViewModel.Connectors);

                if (MathNew.AddConnPoint(vertices_in, connectors_in, ref vertices_out, ref connectors_out, viewmodel))
                {
                    vertices.Add(viewmodel.Id);
                    foreach (PointViewModel v in vertices_out)
                    {
                        vertices.Add(v.Id);
                    }

                    App.GameMainViewModel.AlreadyLetter.Add(vertices[0]);
                    foreach (ConnectorViewModel v in connectors_out)
                    {
                        App.GameMainViewModel.AlreadyConnector.Add(v.Id);
                    }

                    this.Execute2(vertices, GameConstants.CURRENT_X, GameConstants.CURRENT_Y);
                    GameConstants.CURRENT_ID++;
                    GameConstants.CURRENT_X += GameConstants.NEXT_X;
                    GameConstants.CURRENT_Y += GameConstants.NEXT_Y;
                }

                if (GameConstants.CURRENT_ID == App.GameMainViewModel.CorrectWordIndex.Count)
                {
                    //Success
                    this.SuccessAnimation.Begin();
                    this.SuccessAnimation.Completed += new System.EventHandler(SuccessAnimation_Completed);
                }
            }
        }