Example #1
0
        /*
         * Zobrazeni remizy
         */
        private async Task Remiza()
        {
            Hra.bojiste.Children.Clear();
            var remiza = new Label()
            {
                Text = "Remíza! Proveďte nový souboj!!"
            };

            Grid.SetColumnSpan(remiza, 3);
            Grid.SetRow(remiza, 1);
            Grid.SetColumn(remiza, 0);
            Hra.bojiste.Children.Add(remiza);
            var zpet = new Button()
            {
                Text = "Zpět"
            };

            Grid.SetColumnSpan(zpet, 3);
            Grid.SetRow(zpet, 2);
            Grid.SetColumn(zpet, 0);
            Hra.bojiste.Children.Add(zpet);
            Hrac.AktualizaceZivotInventar();
            zpet.Clicked += async(sender, args) =>
            {
                Bojiste.BojisteUvod();
            };
        }
Example #2
0
        /*
         * Zobrazeni vyhry a pridani nesmrtelnosti uzivateli a nacteni inv;
         */
        private async Task Vyhra()
        {
            Boolean uz = true;

            while (uz)// ceka az prohrany uzivatel upravi databazy a nacetl inventar
            {
                MySqlCommand prikaz = new MySqlCommand("Select inventar from bakalarka.uzivatel where iduzivatel=@id");
                prikaz.Parameters.AddWithValue("@id", Hrac.iduzivatel);
                MySqlDataReader data = DBConnector.ProvedeniPrikazuSelect(prikaz);
                data.Read();
                if (Convert.IsDBNull(data["inventar"]))
                {
                    data.Close();
                    await Task.Delay(1000);//brzda na vterinu aby volani nebylo jak kulomet ale spise pomala pistolka
                }
                else
                {
                    uz            = false;
                    Hrac.inventar = (int)data["inventar"];
                }
            }
            MySqlCommand prikazUpdate = new MySqlCommand("update bakalarka.uzivatel set zivot=3 where iduzivatel=@id;update bakalarka.souboj set vyherce=@id where idsouboj=@idsouboj;");

            prikazUpdate.Parameters.AddWithValue("@id", Hrac.iduzivatel);
            prikazUpdate.Parameters.AddWithValue("@idsouboj", id);
            String prubeh = DBConnector.ProvedeniPrikazuOstatni(prikazUpdate);

            Hra.bojiste.Children.Clear();
            var vyhra = new Label()
            {
                Text = "Výhra!!! Získal si nesmrtelnost na dobu než odneseš produkt do domečku." + prubeh
            };

            Grid.SetColumnSpan(vyhra, 3);
            Grid.SetRow(vyhra, 1);
            Grid.SetColumn(vyhra, 0);
            Hra.bojiste.Children.Add(vyhra);
            var zpet = new Button()
            {
                Text = "Zpět"
            };

            Grid.SetColumnSpan(zpet, 3);
            Grid.SetRow(zpet, 2);
            Grid.SetColumn(zpet, 0);
            Hra.bojiste.Children.Add(zpet);
            Hrac.AktualizaceZivotInventar();
            zpet.Clicked += async(sender, args) =>
            {
                Bojiste.BojisteUvod();
            };
        }
Example #3
0
        /*
         * Zobrazeni prohry, usmrceni uzivatele a vymazani suroviny se kterou bezi a predeni vyhercovi
         */
        private async Task Prohra()
        {
            MySqlCommand prikaz = new MySqlCommand("update bakalarka.uzivatel set inventar=@inventar where iduzivatel=(select uzivatel1 from bakalarka.souboj where idsouboj=@idsouboj)or iduzivatel=(select uzivatel2 from bakalarka.souboj where idsouboj=@idsouboj);update bakalarka.uzivatel set inventar=null where iduzivatel=@idhrac;update bakalarka.uzivatel set zivot=2 where iduzivatel=@idhrac;");

            if (Hrac.inventar == 0)//Mysql nezpapa 0 misto null a int zas nepapa null, tak to osetrime ifem
            {
                prikaz.Parameters.AddWithValue("@inventar", null);
            }
            else
            {
                prikaz.Parameters.AddWithValue("@inventar", Hrac.inventar);
            }
            prikaz.Parameters.AddWithValue("@idsouboj", id);
            prikaz.Parameters.AddWithValue("@idhrac", Hrac.iduzivatel);
            string prubeh = DBConnector.ProvedeniPrikazuOstatni(prikaz);

            Hrac.inventar = 0;
            Hra.bojiste.Children.Clear();
            var prohra = new Label()
            {
                Text = "Prohra!!! Jseš mrtvý. Utíkej se oživit do domečku." + prubeh
            };

            Grid.SetColumnSpan(prohra, 3);
            Grid.SetRow(prohra, 1);
            Grid.SetColumn(prohra, 0);
            Hra.bojiste.Children.Add(prohra);
            var zpet = new Button()
            {
                Text = "Zpět"
            };

            Grid.SetColumnSpan(zpet, 3);
            Grid.SetRow(zpet, 2);
            Grid.SetColumn(zpet, 0);
            Hra.bojiste.Children.Add(zpet);
            Hrac.AktualizaceZivotInventar();
            zpet.Clicked += async(sender, args) =>
            {
                Bojiste.BojisteUvod();
            };
        }
Example #4
0
        /*
         * nacte produkty do mrizky
         */
        public static String NacteniProduktu()
        {
            int radek     = 0;
            var uskladnit = new Button {
                Text = "Uložit do skladu", BackgroundColor = Color.RoyalBlue, TextColor = Color.DarkGray, FontSize = 20, CornerRadius = 4, BorderColor = Color.DarkGray, BorderWidth = 2
            };

            //ulozeni do skladu
            uskladnit.Clicked += async(sender, args) =>
            {
                Hra.skladiste.Children.Clear();
                if (Hrac.role == 3)// zobrazeni podle roli
                {
                    var nadpis = new Label()
                    {
                        Text = "Vložení produktu do domečku", TextColor = Color.Black, VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center, FontSize = 15
                    };
                    Grid.SetColumnSpan(nadpis, 3);
                    Grid.SetRow(nadpis, 1);
                    Grid.SetColumn(nadpis, 0);
                    Hra.skladiste.Children.Add(nadpis);
                    var vstup = new Entry()
                    {
                        Keyboard = Keyboard.Numeric
                    };
                    vstup.TextChanged += async(s, a) =>
                    {
                        Validace.PouzeInt((Entry)s, a);
                    };
                    var popis = new Label {
                        Text = "Kód:", VerticalOptions = LayoutOptions.Center, HorizontalOptions = LayoutOptions.Center
                    };
                    Hra.skladiste.Children.Add(popis, 0, 2);
                    Hra.skladiste.Children.Add(vstup, 1, 2);
                    var ulozit = new Button {
                        Text = "Uložit do skladu", BackgroundColor = Color.RoyalBlue, TextColor = Color.DarkGray, FontSize = 20, CornerRadius = 4, BorderColor = Color.DarkGray, BorderWidth = 2
                    };
                    ulozit.Clicked += async(sender1, args1) =>  // ulozeni button
                    {
                        String prubeh = UlozeniDoSkladu(vstup.Text);
                        if (prubeh == null)//kdyz probehlo ok
                        {
                            Hra.skladiste.Children.Clear();
                            NacteniProduktu();
                        }
                        else //kdyz neprobehl ok
                        {
                            await Application.Current.MainPage.DisplayAlert("Chyba", "Zadaný kód je neplatný. Zkus to znova.", "Zavřít");
                        }
                    };
                    Hra.skladiste.Children.Add(ulozit, 1, 3);
                    var zpet = new Button {
                        Text = "Zpět", BackgroundColor = Color.DarkGray, TextColor = Color.RoyalBlue, FontSize = 15, CornerRadius = 4, BorderColor = Color.RoyalBlue, BorderWidth = 2
                    };
                    Hra.skladiste.Children.Add(zpet, 1, 4);
                    zpet.Clicked += async(sender1, args2) =>
                    {
                        Hra.skladiste.Children.Clear();
                        NacteniProduktu();
                    };
                }
                else// pokud neni domecek
                {
                    var kod = new Label {
                        Text = "Kód pro uložení: " + VygenerovaniKodu()
                    };
                    var zpet = new Button {
                        Text = "Zpět", BackgroundColor = Color.DarkGray, TextColor = Color.RoyalBlue, FontSize = 15, CornerRadius = 4, BorderColor = Color.RoyalBlue, BorderWidth = 2
                    };
                    Hra.skladiste.Children.Add(kod, 0, 1);
                    Hra.skladiste.Children.Add(zpet, 1, 2);
                    zpet.Clicked += async(sender1, args1) =>
                    {
                        Hrac.AktualizaceZivotInventar();
                        Hra.skladiste.Children.Clear();
                        NacteniProduktu();
                    };
                }
            };
            Grid.SetColumnSpan(uskladnit, 3);
            Grid.SetRow(uskladnit, radek);
            Grid.SetColumn(uskladnit, 0);
            Hra.skladiste.Children.Add(uskladnit);
            radek++;
            for (int i = 1; i <= 4; i++)//dokolecka dokola je to pekna prasarna
            {
                var uroven = new Label {
                    Text = "Úroveň " + i.ToString(), TextColor = Color.Black, FontSize = 15, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand,
                };
                Grid.SetColumnSpan(uroven, 3);
                Grid.SetRow(uroven, radek);
                Grid.SetColumn(uroven, 0);
                Hra.skladiste.Children.Add(uroven);
                radek++;
                foreach (var produkt in Hra.produkty)
                {
                    if (produkt.uroven == i)
                    {
                        var nazev = new Label {
                            Text = produkt.nazev + ":"
                        };
                        var pocet = new Label {
                            Text = produkt.ulozene.ToString()
                        };
                        var recept = new Button {
                            Text = "Recept", BackgroundColor = Color.RoyalBlue, TextColor = Color.DarkGray, CornerRadius = 4, BorderColor = Color.DarkGray, BorderWidth = 2
                        };
                        //vytvoreni stranky na smenu podle receptu
                        recept.Clicked += async(sender, args) =>
                        {
                            var receptik = new Recept(produkt.id);
                            if (receptik.vysledek == 0)//pokud nema recept
                            {
                                await Application.Current.MainPage.DisplayAlert("Info", "Pro ten to produkt neexistuje recept! je to základní produkt!", "Zavřít");
                            }
                            else // pokud ma recept
                            {
                                Hra.skladiste.Children.Clear();
                                var popis = new Label()
                                {
                                    TextColor = Color.Black, Text = "Recept na " + receptik.popis, HorizontalOptions = LayoutOptions.CenterAndExpand, VerticalOptions = LayoutOptions.CenterAndExpand, FontSize = 15
                                };
                                var prisada1 = new Label {
                                    Text = receptik.prisada1 + " " + receptik.mnozstvi1.ToString() + "x"
                                };
                                var prisada2 = new Label {
                                    Text = receptik.prisada2 + " " + receptik.mnozstvi2.ToString() + "x"
                                };
                                Grid.SetColumnSpan(popis, 3);
                                Grid.SetRow(popis, 0);
                                Grid.SetColumn(popis, 0);
                                Hra.skladiste.Children.Add(popis);
                                Grid.SetColumnSpan(prisada1, 3);
                                Grid.SetRow(prisada1, 1);
                                Grid.SetColumn(prisada1, 0);
                                Hra.skladiste.Children.Add(prisada1);
                                Grid.SetColumnSpan(prisada2, 3);
                                Grid.SetRow(prisada2, 2);
                                Grid.SetColumn(prisada2, 0);
                                Hra.skladiste.Children.Add(prisada2);
                                if (receptik.prisada3 != null)
                                {
                                    var prisada3 = new Label {
                                        Text = receptik.prisada3 + " " + receptik.mnozstvi3 + "x"
                                    };
                                    Grid.SetColumnSpan(prisada3, 3);
                                    Grid.SetRow(prisada3, 3);
                                    Grid.SetColumn(prisada3, 0);
                                    Hra.skladiste.Children.Add(prisada3);
                                }
                                if (Hrac.role == 3)// domecek muze smeniit
                                {
                                    var smenit = new Button {
                                        Text = "Směnit", BackgroundColor = Color.RoyalBlue, TextColor = Color.DarkGray, FontSize = 20, CornerRadius = 4, BorderColor = Color.DarkGray, BorderWidth = 2
                                    };
                                    Hra.skladiste.Children.Add(smenit, 1, 4);
                                    smenit.Clicked += async(sender1, args2) =>
                                    {
                                        String prubeh = receptik.Smena();
                                        if (prubeh == null)
                                        {
                                            Hra.skladiste.Children.Clear();
                                            NacteniProduktu();
                                        }
                                        else
                                        {
                                            await Application.Current.MainPage.DisplayAlert("Chyba", "Tuto směnu nemůžeš provést!", "Zavřít");
                                        }
                                    };
                                }
                                var zpet = new Button {
                                    Text = "Zpět", BackgroundColor = Color.DarkGray, TextColor = Color.RoyalBlue, FontSize = 15, CornerRadius = 4, BorderColor = Color.RoyalBlue, BorderWidth = 2
                                };
                                Hra.skladiste.Children.Add(zpet, 1, 5);

                                zpet.Clicked += async(sender1, args2) =>
                                {
                                    Hra.skladiste.Children.Clear();
                                    NacteniProduktu();
                                };
                            }
                        };
                        Hra.skladiste.Children.Add(nazev, 0, radek);
                        Hra.skladiste.Children.Add(pocet, 1, radek);
                        Hra.skladiste.Children.Add(recept, 2, radek);
                        radek++;
                    }
                }
            }


            return(null);
        }