Ejemplo n.º 1
0
        private void btnPouzitLektvar_Click(object sender, EventArgs e)
        {
            //Vypití lektvaru
            Lektvary lektvar = (Lektvary)cboLektvary.SelectedItem;

            player.Aktualzdravi = (player.Aktualzdravi + lektvar.Leceni);
            if (player.Aktualzdravi > player.Maxzdravi)
            {
                player.Aktualzdravi = player.Maxzdravi;
            }

            foreach (Inventar i in player.Inventar)
            {
                if (i.Detaily.ID == lektvar.ID)
                {
                    i.Mnozstvi--;
                    break;
                }
            }

            rtbZpravy.Text += "Vypil jsi " + lektvar.Jmeno + Environment.NewLine;
            ScrollDown();
            //Útok příšery
            int ZB = Kostky.CisloMezi(0, bestie.Maxutok);

            rtbZpravy.Text += bestie.Jmeno + " ti způsobila zranění za " + ZB.ToString() + " bodů." + Environment.NewLine;
            ScrollDown();
            player.Aktualzdravi -= ZB;
            //Smrt postavy
            if (player.Aktualzdravi <= 0)
            {
                rtbZpravy.Text += bestie.Jmeno + " tě zabil/a." + Environment.NewLine;
                ScrollDown();
                dgvInventar.Rows.Clear();
                player.Inventar.Clear();
                player.PridatDoInventare(Svet.VecByID(Svet.VEC_ID_PALICE), 1);
                dgvUkoly.Rows.Clear();
                Presun(Svet.MistoByID(Svet.MISTO_ID_CHATRC));
                player.Maxzdravi    = 10;
                player.Aktualzdravi = 10;
                player.Zlato        = 20;
                player.Exp          = 0;
                player.Uroven       = 1;
                lblzivoty.Text      = player.Aktualzdravi.ToString();
                lblzlato.Text       = player.Zlato.ToString();
                lblexp.Text         = player.Exp.ToString();
                lbllev.Text         = player.Uroven.ToString();
                //Aktualizace počtu příšer
                Svet.MistoByID(Svet.MISTO_ID_HOSTINEC).NachaziSeZdePrisera.Pocet = Svet.MistoByID(Svet.MISTO_ID_HOSTINEC).NachaziSeZdePrisera.Vychozi;
                Svet.MistoByID(Svet.MISTO_ID_SKLEPENI).NachaziSeZdePrisera.Pocet = Svet.MistoByID(Svet.MISTO_ID_SKLEPENI).NachaziSeZdePrisera.Vychozi;
            }

            lblzivoty.Text = player.Aktualzdravi.ToString();
            AktualizaceInventare();
            AktualizaceLektvaru();
        }
Ejemplo n.º 2
0
        public Quest()
        {
            InitializeComponent();
            //Vytvoření nového hráče se staty, přidání zbraně do inventáře a přesunutí do počáteční polohy
            player = new Player(10, 10, 20, 0, 1);
            player.PridatDoInventare(Svet.VecByID(Svet.VEC_ID_PALICE));
            Presun(Svet.MistoByID(Svet.MISTO_ID_CHATRC));

            //Popsání počtu životů, zlata, zkušeností a aktuální úroveň
            lblzivoty.Text = player.Aktualzdravi.ToString();
            lblzlato.Text  = player.Zlato.ToString();
            lblexp.Text    = player.Exp.ToString();
            lbllev.Text    = player.Uroven.ToString();
        }
Ejemplo n.º 3
0
        private void btnPouzitZbran_Click(object sender, EventArgs e)
        {
            Zbraně aktivniZbran = (Zbraně)cboZbrane.SelectedItem;

            //Útok hráče
            int ZZ = Kostky.CisloMezi(aktivniZbran.Minutok, aktivniZbran.Maxutok);

            bestie.Aktualzdravi -= ZZ;

            rtbZpravy.Text += "Zasáhl jsi " + bestie.Jmeno + " za " + ZZ.ToString() + " bodů." + Environment.NewLine;
            ScrollDown();

            //Smrt příšery a získání odměn
            if (bestie.Aktualzdravi <= 0)
            {
                rtbZpravy.Text += Environment.NewLine;
                rtbZpravy.Text += "Porazil jsi " + bestie.Jmeno + Environment.NewLine;
                ScrollDown();

                player.Exp     += bestie.Expy;
                rtbZpravy.Text += "Získal jsi " + bestie.Expy.ToString() + " bodů zkušenosti." + Environment.NewLine;
                ScrollDown();

                player.Zlato   += bestie.Odmena;
                rtbZpravy.Text += "Získal jsi " + bestie.Odmena.ToString() + " zlata." + Environment.NewLine;
                ScrollDown();


                List <Inventar> korist = new List <Inventar>();
                foreach (Korist kor in bestie.Zisk)
                {
                    if (Kostky.CisloMezi(1, 100) <= kor.Sance)
                    {
                        korist.Add(new Inventar(kor.Detaily, 1));
                    }
                }


                //Přidání odměn do inventáře
                foreach (Inventar invent in korist)
                {
                    player.PridatDoInventare(invent.Detaily);

                    if (invent.Mnozstvi == 1)
                    {
                        rtbZpravy.Text += "Získal jsi " + invent.Mnozstvi.ToString() + " " + invent.Detaily.Jmeno + Environment.NewLine;
                        ScrollDown();
                    }
                    else
                    {
                        rtbZpravy.Text += "Získal jsi " + invent.Mnozstvi.ToString() + " " + invent.Detaily.Jmena + Environment.NewLine;
                        ScrollDown();
                    }
                }

                lblexp.Text = player.Exp.ToString();

                AktualizaceInventare();
                AktualizaceZbrani();
                AktualizaceLektvaru();

                rtbZpravy.Text += Environment.NewLine;
                ScrollDown();
                //Přidání příšery pokud už na místě žádné nejsou, ale hráč ještě nemá požadovaný počet předmětů ke splnění úkolů
                player.poloha.NachaziSeZdePrisera.Pocet--;
                if (player.poloha.NachaziSeZdePrisera.Pocet == 0 && player.poloha.UkolJeKDispozici != null && player.poloha.UkolJeKDispozici.Dokoncen == false)
                {
                    player.poloha.NachaziSeZdePrisera.Pocet++;
                }

                Presun(player.poloha);
            }
            //Útok příšery
            else
            {
                int ZB = Kostky.CisloMezi(0, bestie.Maxutok);
                rtbZpravy.Text += bestie.Jmeno + " ti způsobil/a zranění za " + ZB.ToString() + " bodů." + Environment.NewLine;
                ScrollDown();
                player.Aktualzdravi -= ZB;
                lblzivoty.Text       = player.Aktualzdravi.ToString();
                //Smrt postavy
                if (player.Aktualzdravi <= 0)
                {
                    rtbZpravy.Text += bestie.Jmeno + " tě zabil/a." + Environment.NewLine;
                    ScrollDown();
                    //Vyčištění invetáře a přidání počáteční zbraně
                    dgvInventar.Rows.Clear();
                    player.Inventar.Clear();
                    player.PridatDoInventare(Svet.VecByID(Svet.VEC_ID_PALICE), 1);
                    //Vyčištění misí
                    player.Mise.Clear();
                    dgvUkoly.Rows.Clear();
                    //Počáteční poloha
                    Presun(Svet.MistoByID(Svet.MISTO_ID_CHATRC));
                    //Počáteční staty
                    player.Maxzdravi    = 10;
                    player.Aktualzdravi = 10;
                    player.Zlato        = 20;
                    player.Exp          = 0;
                    player.Uroven       = 1;
                    lblzivoty.Text      = player.Aktualzdravi.ToString();
                    lblzlato.Text       = player.Zlato.ToString();
                    lblexp.Text         = player.Exp.ToString();
                    lbllev.Text         = player.Uroven.ToString();
                    //Aktualizace počtu příšer
                    Svet.MistoByID(Svet.MISTO_ID_HOSTINEC).NachaziSeZdePrisera.Pocet = Svet.MistoByID(Svet.MISTO_ID_HOSTINEC).NachaziSeZdePrisera.Vychozi;
                    Svet.MistoByID(Svet.MISTO_ID_SKLEPENI).NachaziSeZdePrisera.Pocet = Svet.MistoByID(Svet.MISTO_ID_SKLEPENI).NachaziSeZdePrisera.Vychozi;
                }
            }
        }