Пример #1
0
        public GamePage(int nivel, double width)
        {
            BindingContext  = new MemoramaViewModel();
            App.Width       = width;
            ViewModel.Nivel = nivel;
            ViewModel.ExecuteBarajaCartasCommand();
            Title           = ViewModel.CardCount.ToString() + " pares";
            BackgroundColor = Color.White;

            var refresh = new Button
            {
                Command         = ViewModel.BarajaCartasCommand,
                Text            = "Barajar de nuevo",
                TextColor       = Color.White,
                BorderColor     = Color.Green,
                BackgroundColor = Color.Green,
                WidthRequest    = 140,
                HeightRequest   = 60
            };

            StackLayout panel = new StackLayout
            {
                VerticalOptions   = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                Orientation       = StackOrientation.Vertical,
                Spacing           = 6,
                Padding           = new Thickness(20, Device.OnPlatform(10, 20, 20), 20, Device.OnPlatform(10, 20, 20)),
            };

            panel.Children.Add(new Label
            {
                Text      = "juego de memoria",
                TextColor = Color.Gray,
                Font      = Font.SystemFontOfSize(Device.OnPlatform(30, 30, 50))
            });

            StackLayout stats = new StackLayout
            {
                Orientation       = StackOrientation.Horizontal,
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Start,
                HeightRequest     = 40,
                Spacing           = 4
            };

            stats.Children.Add(new Label
            {
                Text      = "Movimientos:",
                TextColor = Color.Green,
            });

            Label movtos = new Label
            {
                WidthRequest = 30,
                Text         = "0",
                TextColor    = Color.Red
            };

            movtos.SetBinding(Label.TextProperty, new Binding("Tiradas", BindingMode.OneWay, new StringConverter()));
            stats.Children.Add(movtos);
            stats.Children.Add(new Label
            {
                Text      = "Pares:",
                TextColor = Color.Green,
            });

            Label pares = new Label
            {
                WidthRequest = 30,
                Text         = "0",
                TextColor    = Color.Red
            };

            pares.SetBinding <MemoramaViewModel>(Label.TextProperty, vm => vm.Pares, BindingMode.OneWay, new StringConverter());
            stats.Children.Add(pares);
            panel.Children.Add(stats);

            StackLayout status = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                Spacing     = 4,
            };

            status.Children.Add(new Label
            {
                Text      = "Estado:",
                TextColor = Color.Green,
            });

            Label estado = new Label
            {
                WidthRequest = 340,
                Text         = "",
                TextColor    = Color.Red
            };

            estado.SetBinding(Label.TextProperty, "Status");
            status.Children.Add(estado);
            panel.Children.Add(status);

            if (ViewModel.Nivel == 0)
            {
                var cartas = new Grid6Cartas(ViewModel);
                panel.Children.Add(cartas);
            }
            else if (ViewModel.Nivel == 1)
            {
                var cartas = new Grid10Cartas(ViewModel);
                panel.Children.Add(cartas);
            }
            panel.Children.Add(refresh);

            var scrollview = new ScrollView
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                Orientation     = ScrollOrientation.Vertical,
                HeightRequest   = App.Height,
                Content         = panel
            };

            Content = scrollview;
        }
Пример #2
0
        public GamePage(int nivel, double width)
        {
            BindingContext = new MemoramaViewModel();
            App.Width = width;
            ViewModel.Nivel = nivel;
            ViewModel.ExecuteBarajaCartasCommand();
            Title = ViewModel.CardCount.ToString() + " pares";
            BackgroundColor = Color.White;

            var refresh = new Button
            {
                Command = ViewModel.BarajaCartasCommand,
                Text = "Barajar de nuevo",
                TextColor = Color.White,
                BorderColor = Color.Green,
                BackgroundColor = Color.Green,
                WidthRequest = 140,
                HeightRequest = 60
            };

            StackLayout panel = new StackLayout
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                HorizontalOptions = LayoutOptions.FillAndExpand,
                Orientation = StackOrientation.Vertical,
                Spacing = 6,
                Padding = new Thickness(20, Device.OnPlatform(10, 20, 20), 20, Device.OnPlatform(10, 20, 20)),
            };
            panel.Children.Add(new Label
            {
                Text = "juego de memoria",
                TextColor = Color.Gray,
                Font = Font.SystemFontOfSize(Device.OnPlatform(30, 30, 50))
            });

            StackLayout stats = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                VerticalOptions = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Start,
                HeightRequest = 40,
                Spacing = 4
            };
            stats.Children.Add(new Label
            {
                Text = "Movimientos:",
                TextColor = Color.Green,
            });

            Label movtos = new Label
            {
                WidthRequest = 30,
                Text = "0",
                TextColor = Color.Red
            };
            movtos.SetBinding(Label.TextProperty, new Binding("Tiradas", BindingMode.OneWay, new StringConverter()));
            stats.Children.Add(movtos);
            stats.Children.Add(new Label
            {
                Text = "Pares:",
                TextColor = Color.Green,
            });

            Label pares = new Label
            {
                WidthRequest = 30,
                Text = "0",
                TextColor = Color.Red
            };
            pares.SetBinding<MemoramaViewModel>(Label.TextProperty, vm => vm.Pares, BindingMode.OneWay, new StringConverter());
            stats.Children.Add(pares);
            panel.Children.Add(stats);

            StackLayout status = new StackLayout
            {
                Orientation = StackOrientation.Horizontal,
                Spacing = 4,
            };
            status.Children.Add(new Label
            {
                Text = "Estado:",
                TextColor = Color.Green,
            });

            Label estado = new Label
            {
                WidthRequest = 340,
                Text = "",
                TextColor = Color.Red
            };
            estado.SetBinding(Label.TextProperty, "Status");
            status.Children.Add(estado);
            panel.Children.Add(status);

            if (ViewModel.Nivel == 0)
            {
                var cartas = new Grid6Cartas(ViewModel);
                panel.Children.Add(cartas);
            }
            else if (ViewModel.Nivel == 1)
            {
                var cartas = new Grid10Cartas(ViewModel);
                panel.Children.Add(cartas);
            }
            panel.Children.Add(refresh);

            var scrollview = new ScrollView
            {
                VerticalOptions = LayoutOptions.FillAndExpand,
                Orientation = ScrollOrientation.Vertical,
                HeightRequest = App.Height,
                Content = panel
            };

            Content = scrollview;
        }