Ejemplo n.º 1
0
        public void Dungeon(promenne hodnoty)
        {
            bool zijes        = true;
            bool cleandungeon = false;

            //Part #1: Generating Dungeon
            DungeonTile[,] dun = GenerujDungeon(32, 16);

            int playerX = 0;
            int playerY = 0;

            for (int x = 0; x <= dun.GetLength(0) - 1; x++)               //searches for entrace and places player there
            {
                for (int y = 0; y <= dun.GetLength(1) - 1; y++)
                {
                    if (dun [x, y].TileName == "entrance")
                    {
                        playerX = x;
                        playerY = y;
                        break;
                    }
                }
            }
            int DunOffsetX = 1;
            int DunOffsetY = 1;

            while (zijes == true || cleandungeon == false)
            {
                Console.BackgroundColor = ConsoleColor.Black;
                Console.ForegroundColor = ConsoleColor.White;
                Console.Clear();
                for (int x = 0; x <= dun.GetLength(0) - 1; x++)
                {
                    for (int y = 0; y <= dun.GetLength(1) - 1; y++)
                    {
                        Console.BackgroundColor = dun [x, y].TileBackGroundColor;
                        Console.ForegroundColor = dun [x, y].TileForeGroundColor;
                        Console.SetCursorPosition(x + DunOffsetX, y + DunOffsetY);
                        Console.Write(dun [x, y].Tile);
                    }
                }
                Console.SetCursorPosition(playerX + DunOffsetX, playerY + DunOffsetY);
                Console.BackgroundColor = dun [playerX, playerY].TileBackGroundColor;
                Console.ForegroundColor = dun [playerX, playerY].PlayerColor;
                Console.Write("\uC637");
                Console.ForegroundColor = ConsoleColor.White;
                Console.BackgroundColor = ConsoleColor.Black;
                map.HealthBar(hodnoty.odolnost, hodnoty.odolnostMax, dun.GetLength(0) + 2, 1, 20, true);             //health bar
                Console.SetCursorPosition(dun.GetLength(0) + 2 + 7, 1);
                Console.BackgroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(dun.GetLength(0) + 2, 2);                 //NA CEM STOJIS
                Console.Write("Stojíš na: ");
                string stojiciblok  = "nic";
                string stojiciblok1 = "nic";
                try{
                    stojiciblok  = dun[playerX, playerY].TileName;
                    stojiciblok1 = dun[playerX, playerY + 1].TileName;
                } catch {
                }
                Console.Write("{0} / {1}", stojiciblok, stojiciblok1);
                Console.SetCursorPosition(dun.GetLength(0) + 2, 3);                 //Info o charakteru
                Console.WriteLine("{0}: {1}/{2}/{3}", hodnoty.charakter, hodnoty.exp, hodnoty.sila, hodnoty.mana);
                Console.SetCursorPosition(dun.GetLength(0) + 3, 4);
                Console.WriteLine("Zkušenosti/Síla/Mana");
                if (hodnoty.neviditelnost_pred_monstry == true)
                {
                    Console.SetCursorPosition(dun.GetLength(1) + 2, 5);
                    Console.Write("Monstra si te nevsimaji ({0} tahu zbyva)", hodnoty.delka_neviditelnosti);
                }
                Console.SetCursorPosition(dun.GetLength(0) + 2, 6);
                Console.WriteLine("Zlato: {0}", hodnoty.zlato);
                ConsoleKeyInfo vstup = Console.ReadKey();
                try {
                    if (vstup.Key == ConsoleKey.W && dun [playerX, playerY - 1].IsWalkable == true)
                    {
                        playerY--;
                    }
                    if (vstup.Key == ConsoleKey.A && dun [playerX - 1, playerY].IsWalkable == true)
                    {
                        playerX--;
                    }
                    if (vstup.Key == ConsoleKey.S && dun [playerX, playerY + 1].IsWalkable == true)
                    {
                        playerY++;
                    }
                    if (vstup.Key == ConsoleKey.D && dun [playerX + 1, playerY].IsWalkable == true)
                    {
                        playerX++;
                    }
                } catch (System.IndexOutOfRangeException) {
                }
                if (vstup.Key == ConsoleKey.E)
                {
                    if (dun [playerX, playerY].TileName == "entrance")
                    {
                        Console.Clear();
                        break;
                    }
                    else                        //Inventář
                    {
                        inv.action(hodnoty);
                    }
                }
                if (vstup.Key == ConsoleKey.Escape)                  //menu
                {
                    Console.Clear();
                }
                if (playerX >= dun.GetLength(0))
                {
                    playerX = dun.GetLength(0) - 1;
                }
                if (playerY >= dun.GetLength(1))
                {
                    playerY = dun.GetLength(1) - 1;
                }
                if (playerX <= -1)
                {
                    playerX = 0;
                }
                if (playerY <= -1)
                {
                    playerY = 0;
                }
            }
            //hodnoty.mapa [hodnoty.charakterX, hodnoty.charakterY] = 0;//pokud je vycisten, je znicen navzdy...
            hodnoty.jenazivu = zijes;
        }
Ejemplo n.º 2
0
        public generaceobchodu(string[,,] obchod, promenne hodnoty)
        {
            Random rnd = new Random();

            string[,] nazvyjidel = new string[, ] {            //NAZVY JIDEL , popis, kolik HP pridaji
                { "Jablko", "Zdrava vyziva!", "5" },
                { "Chleba", "Klasický pšeničný chléb.", "10" },
                { "Houska", "Zakulaceny kus peciva.", "7" },
                { "Rizek", "Poradny kus masa v trojobalu.", "15" },
                { "Cinske nudle", "S prichuti z praveho psa!", "20" },
                { "Losos", "Prava severska ryba.", "11" },
                { "Kapr", "Tradicni ceske vanocni jidlo, jen nespolknout kost!", "10" },
                { "Uhor", "Doslova elektrizujici...", "15" },
                { "Vakuovane testoviny", ("Vydrzi do roku: ") + (Int32.Parse(DateTime.Now.Year.ToString()) + 3).ToString(), "20" },
                { "Grilovane jehneci", "", "22" },
                { "Brambor", "Kobzol", "6" },
                { "Grilovane veprove", "Dodá spoustu síly a navíc i ohřeje", "22" },
                { "Hovezi vyvar", "Dodá spoustu síly a navíc i ohřeje", "24" }
            };
            string[] zbrane_carodej           = new string[] { "hulka", "prut" };
            string[] zbrane_M                 = new string[] { "mec", "palcat", "nozik" };
            string[] zbrane_Z                 = new string[] { "dyka", "sekera", "valecna sekera" };
            string[] zbrane_S                 = new string[] { "kladivo", "valecne kladivo" };
            string[] materialy_M              = new string[] { "Ebenitovy", "Zelezny", "Skleneny", "Ocelovy", "Bronzovy", "Chitinovy" };
            string[] materialy_Z              = new string[] { "Ebenitova", "Zelezna", "Sklenena", "Ocelova", "Bronzova", "Chitinova" };
            string[] materialy_S              = new string[] { "Ebenitove", "Zelezne", "Sklenene", "Ocelove", "Bronzove", "Chitinove" };
            string[] materialy_zbroj          = new string[] { "Usnova", "Okovana", "Elfska", "Supinova", "Sklenena", "Ocelova platova", "Zelezna", "Ebenitova", "Chitinova" };
            string[] materialy_zbroj_modifier = new string[] { "uslechtilosti", "zdravi", "obrany", "niceni", "regenerace" };
            string[,] lektvary_nazvy = new string[, ]            //nazev, typ, A1, cena za 1 min, cena za 1 max
            {
                { "Lektvar neviditelnosti", "lektvar-neviditelnost", "5", "25", "35", "Dokáže tě schovat před nepřáteli." },
                { "Lektvar obnoveni zdravi", "lektvar-zdravi", "30", "15", "30", "Dokáže obnovit až 30 bodů zdraví." },
                { "Lektvar regenerace zdravi", "lektvar-zdravi", "45", "25", "40", "Příroda regeneruje..." },
                { "Jed snizeni zdravi", "lektvar-otrava", "10", "5", "12", "Lehce otravné..." },
                { "Jed zniceni zdravi", "lektvar-otrava", "40", "30", "40", "Poněkud zničující..." }
            };
            for (int a = 0; a <= 9; a++)                     //JIDLA & ZAPIS JIDEL
            {
                int cislo = rnd.Next(0, 12);                 //PREPSAT PRI KAZDE ZMENE nazvyjidla[] !!!
                obchod [0, a, 0] = (nazvyjidel [cislo, 0]).ToString();
                obchod [0, a, 1] = (nazvyjidel [cislo, 1]).ToString();
                obchod [0, a, 2] = "jidlo";
                obchod [0, a, 3] = (nazvyjidel[cislo, 2]).ToString();
                obchod [0, a, 4] = rnd.Next(1, 5).ToString();
                obchod [0, a, 5] = ((Int32.Parse(obchod [0, a, 3]) / 5) * (Int32.Parse(obchod [0, a, 4]))).ToString();
            }
            for (int b = 0; b <= 9; b++)              //Lektvary
            {
                int cislo = rnd.Next(0, 4);           //PREPSAT PRI KAZDE ZMENE lektvary_nazvy[] !!!
                obchod [2, b, 0] = (lektvary_nazvy [cislo, 0]).ToString();
                obchod [2, b, 1] = (lektvary_nazvy [cislo, 5]).ToString();
                obchod [2, b, 2] = (lektvary_nazvy [cislo, 1]).ToString();
                obchod [2, b, 3] = (lektvary_nazvy [cislo, 2]).ToString();
                obchod [2, b, 4] = (rnd.Next(1, 3)).ToString();
                obchod [2, b, 5] = (Int32.Parse(obchod [2, b, 4]) * (rnd.Next(Int32.Parse(lektvary_nazvy [cislo, 3]), Int32.Parse(lektvary_nazvy [cislo, 4])))).ToString();
            }
            if (hodnoty.charakter == "Čaroděj")
            {
                for (int c = 0; c <= 9; c++)                  //zbrane
                {
                    rnd.Next(0, 3);
                }
            }
        }
Ejemplo n.º 3
0
        public void bitva(string stojiciblok, bool exitgame, promenne hodnoty)
        {
            Random  rnd = new Random();
            grafika g   = new grafika();
            int     pravdepodobnostmonstra = rnd.Next(0, 100);

            if (pravdepodobnostmonstra <= 10 && stojiciblok != "Vesnice" && stojiciblok != "Dungeon" && hodnoty.neviditelnost_pred_monstry == false)
            {
                int nahmonstrum = rnd.Next(0, hodnoty.monstra.GetLength(0) - 1);              //ZDE POZDEJI IMPLEMENTUJ SYSTEM EXP & LVL
                //Console.SetCursorPosition (1, hodnoty.vyskamapy + 2);
                //Console.WriteLine ("Potkal jsi příšeru jménem {0}! Budeš muset bojovat...", hodnoty.monstra[nahmonstrum,0]);
                //Console.SetCursorPosition (1, hodnoty.vyskamapy + 3);
                //Console.WriteLine ("Zmáčkni klávesu pro pokračování...");
                //Console.ReadKey ();

                bool     utoceni              = true;
                int      volbautoceni         = 0;
                int      exppred              = 0;
                int      monstrumodolnostpred = 0;
                int      monstrumodolnost     = Int32.Parse(hodnoty.monstra [nahmonstrum, 2]);
                string[] moznosti             = new string[] {
                    "Zaútočit",
                    "Bránit se",
                    "Použít předmět - NEDOSTUPNÉ"
                };
                while (utoceni)
                {
                    #region vykreslovani
                    Console.BackgroundColor = ConsoleColor.Black;
                    Console.ForegroundColor = ConsoleColor.White;
                    Console.Clear();
                    Console.SetCursorPosition(2, 1);
                    Console.WriteLine("{0} : Útok: {1}+{2}", hodnoty.charakter, hodnoty.sila, hodnoty.inventar[0, 3]);
                    g.HealthBar(hodnoty.odolnost, hodnoty.odolnostMax, 2, 2, 20, true);
                    Console.SetCursorPosition(2, 3);
                    Console.WriteLine("{0} : {1}/{2}", hodnoty.monstra[nahmonstrum, 0], hodnoty.monstra[nahmonstrum, 3], monstrumodolnost);
                    Console.SetCursorPosition(2, 4);
                    Console.WriteLine("   Útok / Životy");
                    for (int a = 0; a <= moznosti.GetLength(0) - 1; a++)
                    {
                        Console.SetCursorPosition(2, 6 + a);
                        if (a == volbautoceni)
                        {
                            Console.Write("> ");
                        }
                        Console.WriteLine(moznosti[a]);
                    }
                    #endregion
                    ConsoleKeyInfo vstup = Console.ReadKey();
                    if (vstup.Key == ConsoleKey.Enter)
                    {
                        if (volbautoceni == 0)                          //Zautocit
                        {
                            Console.SetCursorPosition(2, 9);
                            Console.WriteLine("Útočíš na {0}...", hodnoty.monstra [nahmonstrum, 0]);
                            Console.SetCursorPosition(2, 10);
                            monstrumodolnostpred = monstrumodolnost;
                            monstrumodolnost     = monstrumodolnost - (rnd.Next(hodnoty.sila / 2, (hodnoty.sila - hodnoty.sila / 3)) + Int32.Parse(hodnoty.inventar [0, 3]));
                            Console.SetCursorPosition(2, 11);
                            Console.WriteLine("Ubral jsi nepříteli jménem {0} {1} životů!", hodnoty.monstra[nahmonstrum, 0], monstrumodolnostpred - monstrumodolnost);
                            hodnoty.inventar [0, 4] = (Int32.Parse(hodnoty.inventar [0, 4]) - 1).ToString();
                            if (Int32.Parse(hodnoty.inventar [0, 4]) <= 0 && hodnoty.inventar [0, 0] != "Zadna zbran")                               //Rozbiti zbrane
                            {
                                Console.SetCursorPosition(2, 12);
                                Console.WriteLine("Rozbila se ti zbran: {0}", hodnoty.inventar [0, 0]);
                                hodnoty.inventar [0, 0] = "Zadna zbran";
                                hodnoty.inventar [0, 1] = " ";
                                hodnoty.inventar [0, 2] = "zbran";
                                hodnoty.inventar [0, 3] = "0";
                                hodnoty.inventar [0, 4] = "0";
                            }
                            if (monstrumodolnost <= 0)                              //porazis monstrum
                            {
                                Console.SetCursorPosition(2, 12);
                                Console.WriteLine("Vyhral jsi!");
                                exppred     = hodnoty.exp;
                                hodnoty.exp = hodnoty.exp + rnd.Next(0, 10);
                                Console.SetCursorPosition(2, 14);
                                Console.WriteLine("Bylo ti pricteno {0} EXP! Nyni mas {1} EXP!", hodnoty.exp - exppred, hodnoty.exp);
                                utoceni = true;
                                break;
                            }
                            Console.SetCursorPosition(2, 12);
                            Console.WriteLine("{0} útočí...", hodnoty.monstra [nahmonstrum, 0]);
                            Console.SetCursorPosition(2, 13);
                            int odolnostpred = hodnoty.odolnost;
                            hodnoty.odolnost        = hodnoty.odolnost - rnd.Next(Int32.Parse(hodnoty.monstra [nahmonstrum, 3]) / 3, Int32.Parse(hodnoty.monstra [nahmonstrum, 3])) + Int32.Parse(hodnoty.inventar [1, 3]);
                            hodnoty.inventar [1, 4] = (Int32.Parse(hodnoty.inventar [1, 4]) - 1).ToString();
                            Console.WriteLine("Nepřítel ti ubral {0} životů!", odolnostpred - hodnoty.odolnost);
                            if (Int32.Parse(hodnoty.inventar [1, 4]) <= 0 && hodnoty.inventar [1, 0] != "Žádné brnění")                               //Rozbiti brneni
                            {
                                Console.SetCursorPosition(2, 14);
                                Console.WriteLine("Rozbilo se ti brnění: {0}", hodnoty.inventar [1, 0]);
                                hodnoty.inventar [1, 0] = "Žádné brnění";
                                hodnoty.inventar [1, 1] = "";
                                hodnoty.inventar [1, 2] = "brneni";
                                hodnoty.inventar [1, 3] = "0";
                                hodnoty.inventar [1, 4] = "0";
                            }
                            if (hodnoty.odolnost <= 0)
                            {
                                Console.SetCursorPosition(2, 15);
                                Console.WriteLine("{0} tě usmrtil... :( ", hodnoty.monstra [nahmonstrum, 0]);
                                Console.SetCursorPosition(2, 16);
                                Console.WriteLine("Konec hry.");
                                Console.ReadKey();
                                hodnoty.jenazivu = false;
                                exitgame         = true;
                                utoceni          = true;
                                break;
                            }
                            Console.ReadKey();
                        }
                        if (volbautoceni == 1)                          //obrana
                        {
                            Console.SetCursorPosition(2, 9);
                            Console.WriteLine("Snažíš se ubránit proti {0}...", hodnoty.monstra[nahmonstrum, 0]);
                            int obranarandom = rnd.Next(0, 10);
                            if (obranarandom <= 7)
                            {
                                Console.SetCursorPosition(2, 10);
                                Console.WriteLine("Úspěšně ses ubránil...");
                                int regenerace = rnd.Next(5, 10);
                                Console.SetCursorPosition(2, 11);
                                Console.WriteLine("Regenerovaly se ti {0} bodů zdraví!", regenerace);
                                hodnoty.odolnost = hodnoty.odolnost + regenerace;
                                if (hodnoty.odolnost >= hodnoty.odolnostMax + 1)
                                {
                                    hodnoty.odolnost = hodnoty.odolnostMax;
                                }
                            }
                            if (obranarandom >= 8)
                            {
                                Console.SetCursorPosition(2, 10);
                                Console.WriteLine("Nedokázal ses ubránit!");
                                Console.SetCursorPosition(2, 11);
                                Console.WriteLine("Nyní je na tahu {0}...", hodnoty.monstra[nahmonstrum, 0]);
                                Console.SetCursorPosition(2, 12);
                                int odolnostpred = hodnoty.odolnost;
                                hodnoty.odolnost        = hodnoty.odolnost - rnd.Next(Int32.Parse(hodnoty.monstra[nahmonstrum, 3]) / 3, Int32.Parse(hodnoty.monstra[nahmonstrum, 3])) + Int32.Parse(hodnoty.inventar [1, 3]);
                                hodnoty.inventar [1, 4] = (Int32.Parse(hodnoty.inventar [1, 4]) - 1).ToString();
                                Console.WriteLine("Nepřítel tě lehce zranil! Ubral ti {0} životů...", odolnostpred - hodnoty.odolnost);
                                if (Int32.Parse(hodnoty.inventar [1, 4]) <= 0 && hodnoty.inventar [1, 0] != "Žádné brnění")                                   //Rozbiti brneni
                                {
                                    Console.SetCursorPosition(2, 13);
                                    Console.WriteLine("Rozbilo se ti brnění: {0}", hodnoty.inventar [1, 0]);
                                    hodnoty.inventar [1, 0] = "Žádné brnění";
                                    hodnoty.inventar [1, 1] = "";
                                    hodnoty.inventar [1, 2] = "brneni";
                                    hodnoty.inventar [1, 3] = "0";
                                    hodnoty.inventar [1, 4] = "0";
                                }
                                if (hodnoty.odolnost <= 0)
                                {
                                    Console.SetCursorPosition(2, 14);
                                    Console.WriteLine("{0} tě usmrtil... :( ", hodnoty.monstra [nahmonstrum, 0]);
                                    Console.SetCursorPosition(2, 15);
                                    Console.WriteLine("Konec hry.");
                                    Console.ReadKey();
                                    hodnoty.jenazivu = false;
                                    exitgame         = true;
                                    utoceni          = true;
                                    break;
                                }
                            }
                            Console.ReadKey();
                        }
                        if (volbautoceni == 2)                          //Pouzit predmet

                        {
                        }
                    }
                    if (vstup.Key == ConsoleKey.S)
                    {
                        volbautoceni++;
                    }
                    if (vstup.Key == ConsoleKey.W)
                    {
                        volbautoceni--;
                    }
                    if (volbautoceni >= moznosti.GetLength(0))
                    {
                        volbautoceni = 0;
                    }
                    if (volbautoceni <= -1)
                    {
                        volbautoceni = moznosti.GetLength(0) - 1;
                    }
                }
            }
        }
Ejemplo n.º 4
0
        public void action(promenne hodnoty)
        {
            if (hodnoty.inventar == null)
            {
                return;
            }
            int    poziceKurzoruX = 0;
            int    poziceKurzoruY = 0;
            int    nejvetsisirka  = 80;
            int    nejvetsivyska  = 24;
            string systemOS       = Environment.OSVersion.ToString();

            if (systemOS.Contains("Windows"))
            {
                nejvetsisirka  = 80;
                nejvetsivyska  = 24;
                poziceKurzoruX = 0;
                poziceKurzoruY = 0;
            }
            if (systemOS.Contains("Unix"))
            {
                nejvetsisirka  = Console.LargestWindowWidth;
                nejvetsivyska  = Console.LargestWindowHeight;
                poziceKurzoruX = nejvetsisirka - 1;
                poziceKurzoruY = nejvetsivyska - 1;
            }

            bool otevrenyinventar = true;
            int  volbainventar    = 0;

            while (otevrenyinventar)
            {
                Console.Clear();
                Console.SetCursorPosition(1, 1);
                for (int i = 0; i <= 10; i++)
                {
                    if (volbainventar == i)
                    {
                        Console.SetCursorPosition(2, i + 2);
                        Console.Write("> ");
                        if (hodnoty.inventar [i, 0] == "0")
                        {
                            Console.Write("Prazdne misto");
                        }
                        else
                        {
                            Console.Write("{0} - {1}x", hodnoty.inventar [i, 0], hodnoty.inventar [i, 4]);
                        }
                        if (hodnoty.inventar [volbainventar, 1] != "0")
                        {
                            Console.SetCursorPosition(2, 14);
                            Console.Write(hodnoty.inventar [volbainventar, 1]);
                        }
                        Console.SetCursorPosition(2, 15);
                        if (hodnoty.inventar [volbainventar, 2] == "zbran")
                        {
                            Console.Write("Poskozeni: ");
                            Console.Write(hodnoty.inventar [volbainventar, 3]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "brneni")
                        {
                            Console.Write("Odolnost: ");
                            Console.Write(hodnoty.inventar [volbainventar, 3]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "jidlo")
                        {
                            Console.Write("Doplni zivotu: ");
                            Console.Write(hodnoty.inventar [volbainventar, 3]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "lektvar-zivot")
                        {
                            Console.Write("Doplni zivotu: ");
                            Console.Write(hodnoty.inventar [volbainventar, 3]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "lektvar-otrava")
                        {
                            Console.Write("Ubere zivotu: ");
                            Console.Write(hodnoty.inventar [volbainventar, 3]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "lektvar-neviditelnost")
                        {
                            Console.Write("Na {0} tahu te skryje pred veskerou haveti.", hodnoty.inventar [volbainventar, 3]);
                        }
                        Console.SetCursorPosition(2, 16);
                        if (hodnoty.inventar [volbainventar, 2] == "zbran")
                        {
                            Console.Write("Vydrz: ");
                            Console.Write(hodnoty.inventar [volbainventar, 4]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "brneni")
                        {
                            Console.Write("Vydrz: ");
                            Console.Write(hodnoty.inventar [volbainventar, 4]);
                        }
                        if (hodnoty.inventar [volbainventar, 2] == "lektvar-zivot" || hodnoty.inventar [volbainventar, 2] == "lektvar-otrava" || hodnoty.inventar [volbainventar, 2] == "jidlo" || hodnoty.inventar [volbainventar, 2] == "větve" || hodnoty.inventar [volbainventar, 2] == "Most")
                        {
                            Console.Write("V zasobe: ");
                            Console.Write(hodnoty.inventar [volbainventar, 4]);
                        }
                    }
                    if (volbainventar != i)
                    {
                        if (hodnoty.inventar [i, 0] == "0")
                        {
                            Console.SetCursorPosition(2, i + 2);
                            Console.Write("-");
                        }
                        else
                        {
                            Console.SetCursorPosition(2, i + 2);
                            Console.Write("{0} - {1}x", hodnoty.inventar [i, 0], hodnoty.inventar [i, 4]);
                        }
                    }
                }
                Console.SetCursorPosition(2, 18);
                Console.Write("[C] - Vyrábět");
                Console.SetCursorPosition(2, 1);
                Console.Write("Mas {0} zlataku.", hodnoty.zlato);
                Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                ConsoleKeyInfo vstupinventar = Console.ReadKey();
                if (vstupinventar.Key == ConsoleKey.W)
                {
                    volbainventar--;
                }
                if (vstupinventar.Key == ConsoleKey.S)
                {
                    volbainventar++;
                }
                if (vstupinventar.Key == ConsoleKey.Enter)                   //menu pro item
                {
                    if (hodnoty.inventar [volbainventar, 2] == "zbran")      //zjisti typ zbrane a nabidne moznosti
                    //NWM
                    {
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "brneni")
                    {
                        //NWM
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "jidlo")
                    {
                        bool invpouzit      = true;
                        int  volbainvpouzit = 0;
                        while (invpouzit)
                        {
                            if (Int32.Parse(hodnoty.inventar [volbainventar, 4]) <= 0)                               //Kdyz dojde item
                            {
                                Console.Clear();
                                for (int i = 0; i <= 9; i++)
                                {
                                    hodnoty.inventar [volbainventar, i] = "0";
                                }
                                invpouzit = false;
                                break;
                            }
                            Console.Clear();
                            Console.SetCursorPosition(2, 1);
                            Console.Write(hodnoty.inventar [volbainventar, 0]);
                            Console.SetCursorPosition(2, 2);
                            Console.Write("Doplni {0} zivotu.", hodnoty.inventar [volbainventar, 3]);
                            Console.SetCursorPosition(2, 3);
                            Console.Write("Mas jich {0} v zasobe.", hodnoty.inventar [volbainventar, 4]);
                            Console.SetCursorPosition(2, 4);
                            Console.Write("Mas {0} zivotu.", hodnoty.odolnost);
                            if (volbainvpouzit == 0)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("> Snist");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 1)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Snist");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("> Jit zpet");
                            }
                            Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                            ConsoleKeyInfo vstupinvpouzit = Console.ReadKey();
                            if (vstupinvpouzit.Key == ConsoleKey.W)
                            {
                                volbainvpouzit--;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.S)
                            {
                                volbainvpouzit++;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Escape)
                            {
                                invpouzit = false;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //Snist
                            {
                                hodnoty.odolnost = hodnoty.odolnost + Int32.Parse(hodnoty.inventar [volbainventar, 3]);
                                hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();
                                if (hodnoty.odolnost >= hodnoty.odolnostMax + 1)
                                {
                                    hodnoty.odolnost = hodnoty.odolnostMax;
                                }
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 1)
                            {
                                invpouzit = false;
                            }                            //zpet
                            if (volbainvpouzit <= -1)
                            {
                                volbainvpouzit = 1;
                            }
                            if (volbainvpouzit >= 2)
                            {
                                volbainvpouzit = 0;
                            }
                        }
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "lektvar-zivot")
                    {
                        bool invpouzit      = true;
                        int  volbainvpouzit = 0;
                        while (invpouzit)
                        {
                            if (Int32.Parse(hodnoty.inventar [volbainventar, 4]) <= 0)                               //Kdyz dojde item
                            {
                                Console.Clear();
                                for (int i = 0; i <= 9; i++)
                                {
                                    hodnoty.inventar [volbainventar, i] = "0";
                                }
                                invpouzit = false;
                                break;
                            }
                            Console.Clear();
                            Console.SetCursorPosition(2, 1);
                            Console.Write(hodnoty.inventar [volbainventar, 0]);
                            Console.SetCursorPosition(2, 2);
                            Console.Write("Doplni {0} zivotu.", hodnoty.inventar [volbainventar, 3]);
                            Console.SetCursorPosition(2, 3);
                            Console.Write("Mas jich {0} v zasobe.", hodnoty.inventar [volbainventar, 4]);
                            Console.SetCursorPosition(2, 4);
                            Console.Write("Mas {0} zivotu.", hodnoty.odolnost);
                            if (volbainvpouzit == 0)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("> Vypit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 1)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Vypit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("> Jit zpet");
                            }
                            Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                            ConsoleKeyInfo vstupinvpouzit = Console.ReadKey();
                            if (vstupinvpouzit.Key == ConsoleKey.W)
                            {
                                volbainvpouzit--;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.S)
                            {
                                volbainvpouzit++;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Escape)
                            {
                                invpouzit = false;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //vypit
                            {
                                hodnoty.odolnost = hodnoty.odolnost + Int32.Parse(hodnoty.inventar [volbainventar, 3]);
                                hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();
                                if (hodnoty.odolnost >= hodnoty.odolnostMax + 1)
                                {
                                    hodnoty.odolnost = hodnoty.odolnostMax;
                                }
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 1)
                            {
                                invpouzit = false;
                            }                            //zpet
                            if (volbainvpouzit <= -1)
                            {
                                volbainvpouzit = 1;
                            }
                            if (volbainvpouzit >= 2)
                            {
                                volbainvpouzit = 0;
                            }
                        }
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "lektvar-otrava")
                    {
                        bool invpouzit      = true;
                        int  volbainvpouzit = 0;
                        while (invpouzit)
                        {
                            if (Int32.Parse(hodnoty.inventar [volbainventar, 4]) <= 0)                               //Kdyz dojde item
                            {
                                Console.Clear();
                                for (int i = 0; i <= 9; i++)
                                {
                                    hodnoty.inventar [volbainventar, i] = "0";
                                }
                                invpouzit = false;
                                break;
                            }
                            Console.Clear();
                            Console.SetCursorPosition(2, 1);
                            Console.Write(hodnoty.inventar [volbainventar, 0]);
                            Console.SetCursorPosition(2, 2);
                            Console.Write("Doplni {0} zivotu.", hodnoty.inventar [volbainventar, 3]);
                            Console.SetCursorPosition(2, 3);
                            Console.Write("Mas jich {0} v zasobe.", hodnoty.inventar [volbainventar, 4]);
                            Console.SetCursorPosition(2, 4);
                            Console.Write("Mas {0} zivotu.", hodnoty.odolnost);
                            if (volbainvpouzit == 0)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("> Vypit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Aplikovat");
                                Console.SetCursorPosition(2, 7);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 1)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Vypit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("> Aplikovat");
                                Console.SetCursorPosition(2, 7);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 2)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Vypit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Aplikovat");
                                Console.SetCursorPosition(2, 7);
                                Console.Write("> Jit zpet");
                            }
                            Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                            ConsoleKeyInfo vstupinvpouzit = Console.ReadKey();
                            if (vstupinvpouzit.Key == ConsoleKey.W)
                            {
                                volbainvpouzit--;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.S)
                            {
                                volbainvpouzit++;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Escape)
                            {
                                invpouzit = false;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //vypit
                            {
                                hodnoty.odolnost = hodnoty.odolnost - Int32.Parse(hodnoty.inventar [volbainventar, 3]);
                                hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //aplikovat
                            {
                                hodnoty.inventar [0, 3]             = (Int32.Parse(hodnoty.inventar [0, 3]) + Int32.Parse(hodnoty.inventar [volbainventar, 3])).ToString();
                                hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 1)
                            {
                                invpouzit = false;
                            }                            //zpet
                            if (volbainvpouzit <= -1)
                            {
                                volbainvpouzit = 1;
                            }
                            if (volbainvpouzit >= 3)
                            {
                                volbainvpouzit = 0;
                            }
                        }
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "lektvar-neviditelnost")
                    {
                        bool invpouzit      = true;
                        int  volbainvpouzit = 0;
                        while (invpouzit)
                        {
                            if (Int32.Parse(hodnoty.inventar [volbainventar, 4]) <= 0)                               //Kdyz dojde item
                            {
                                Console.Clear();
                                for (int i = 0; i <= 9; i++)
                                {
                                    hodnoty.inventar [volbainventar, i] = "0";
                                }
                                invpouzit = false;
                                break;
                            }
                            Console.Clear();
                            Console.SetCursorPosition(2, 1);
                            Console.Write(hodnoty.inventar [volbainventar, 0]);
                            Console.SetCursorPosition(2, 2);
                            Console.Write("Skryje te pred moby na {0} tahu.", hodnoty.inventar [volbainventar, 3]);
                            Console.SetCursorPosition(2, 3);
                            Console.Write("Mas jich {0} v zasobe.", hodnoty.inventar [volbainventar, 4]);
                            Console.SetCursorPosition(2, 4);
                            Console.Write("Momentalne jses skryty na {0} tahu.", hodnoty.delka_neviditelnosti);
                            if (volbainvpouzit == 0)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("> Pouzit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 1)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Pouzit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("> Jit zpet");
                            }
                            Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                            ConsoleKeyInfo vstupinvpouzit = Console.ReadKey();
                            if (vstupinvpouzit.Key == ConsoleKey.W)
                            {
                                volbainvpouzit--;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.S)
                            {
                                volbainvpouzit++;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Escape)
                            {
                                invpouzit = false;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //Pouzit
                            {
                                hodnoty.delka_neviditelnosti        = hodnoty.delka_neviditelnosti + Int32.Parse(hodnoty.inventar [volbainventar, 3]);
                                hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 1)
                            {
                                invpouzit = false;
                            }                            //zpet
                            if (volbainvpouzit <= -1)
                            {
                                volbainvpouzit = 1;
                            }
                            if (volbainvpouzit >= 2)
                            {
                                volbainvpouzit = 0;
                            }
                        }
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "Most")
                    {
                        bool invpouzit      = true;
                        int  volbainvpouzit = 0;
                        while (invpouzit)
                        {
                            if (Int32.Parse(hodnoty.inventar [volbainventar, 4]) <= 0)                               //Kdyz dojde item
                            {
                                Console.Clear();
                                for (int i = 0; i <= 9; i++)
                                {
                                    hodnoty.inventar [volbainventar, i] = "0";
                                }
                                invpouzit = false;
                                break;
                            }
                            Console.Clear();
                            Console.SetCursorPosition(2, 1);
                            Console.Write(hodnoty.inventar [volbainventar, 0]);
                            Console.SetCursorPosition(2, 2);
                            Console.Write(hodnoty.inventar [volbainventar, 1]);
                            Console.SetCursorPosition(2, 3);
                            Console.Write("Mas jich {0} v zasobe.", hodnoty.inventar [volbainventar, 4]);
                            if (volbainvpouzit == 0)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("> Postavit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("Jit zpet");
                            }
                            if (volbainvpouzit == 1)
                            {
                                Console.SetCursorPosition(2, 5);
                                Console.Write("Postavit");
                                Console.SetCursorPosition(2, 6);
                                Console.Write("> Jit zpet");
                            }
                            Console.SetCursorPosition(poziceKurzoruX, poziceKurzoruY);
                            ConsoleKeyInfo vstupinvpouzit = Console.ReadKey();
                            if (vstupinvpouzit.Key == ConsoleKey.W)
                            {
                                volbainvpouzit--;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.S)
                            {
                                volbainvpouzit++;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Escape)
                            {
                                invpouzit = false;
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 0)                              //Postavit
                            {
                                bool placedmost     = false;
                                bool pokracovatmost = true;
                                try {
                                    if (hodnoty.mapa [hodnoty.charakterX - 1, hodnoty.charakterY].Type == "River" && pokracovatmost == true)
                                    {
                                        hodnoty.mapa [hodnoty.charakterX - 1, hodnoty.charakterY].Type = "Bridge";
                                        placedmost     = true;
                                        pokracovatmost = false;
                                    }
                                } catch (System.IndexOutOfRangeException) {
                                }
                                try {
                                    if (hodnoty.mapa [hodnoty.charakterX + 1, hodnoty.charakterY].Type == "River" && pokracovatmost == true)
                                    {
                                        hodnoty.mapa [hodnoty.charakterX + 1, hodnoty.charakterY].Type = "Bridge";
                                        placedmost     = true;
                                        pokracovatmost = false;
                                    }
                                } catch (System.IndexOutOfRangeException) {
                                }
                                try {
                                    if (hodnoty.mapa [hodnoty.charakterX, hodnoty.charakterY - 1].Type == "River" && pokracovatmost == true)
                                    {
                                        hodnoty.mapa [hodnoty.charakterX, hodnoty.charakterY - 1].Type = "Bridge";
                                        placedmost     = true;
                                        pokracovatmost = false;
                                    }
                                } catch (System.IndexOutOfRangeException) {
                                }
                                try {
                                    if (hodnoty.mapa [hodnoty.charakterX, hodnoty.charakterY + 1].Type == "River" && pokracovatmost == true)
                                    {
                                        hodnoty.mapa [hodnoty.charakterX, hodnoty.charakterY + 1].Type = "Bridge";
                                        placedmost     = true;
                                        pokracovatmost = false;
                                    }
                                } catch (System.IndexOutOfRangeException) {
                                }
                                if (placedmost == true)
                                {
                                    hodnoty.inventar [volbainventar, 4] = (Int32.Parse(hodnoty.inventar [volbainventar, 4]) - 1).ToString();                                      //odecte most z inv
                                }
                            }
                            if (vstupinvpouzit.Key == ConsoleKey.Enter && volbainvpouzit == 1)
                            {
                                invpouzit = false;
                            }                            //zpet
                            if (volbainvpouzit <= -1)
                            {
                                volbainvpouzit = 1;
                            }
                            if (volbainvpouzit >= 2)
                            {
                                volbainvpouzit = 0;
                            }
                        }
                    }
                    if (hodnoty.inventar [volbainventar, 2] == "0")                       /*Prazdny slot*/
                    {
                    }
                }
                if (vstupinventar.Key == ConsoleKey.C)                  //Vyrobit
                {
                    int  volbavyroby = 0;
                    bool vyrabet     = true;
                    while (vyrabet)
                    {
                        Console.Clear();
                        for (int i = 0; i <= hodnoty.craft.GetLength(0) - 1; i++)
                        {
                            Console.SetCursorPosition(2, i + 1);
                            if (volbavyroby == i)
                            {
                                Console.Write("> ");
                            }
                            Console.Write("{0} [{1}x {2}]", hodnoty.craft [i, 0], hodnoty.craft[i, 7], hodnoty.craft[i, 6]);
                        }
                        ConsoleKeyInfo vstupvyroba = Console.ReadKey();
                        if (vstupvyroba.Key == ConsoleKey.E || vstupvyroba.Key == ConsoleKey.Escape)
                        {
                            vyrabet = false;
                        }
                        if (vstupvyroba.Key == ConsoleKey.W)
                        {
                            volbavyroby--;
                        }
                        if (vstupvyroba.Key == ConsoleKey.S)
                        {
                            volbavyroby++;
                        }
                        if (vstupvyroba.Key == ConsoleKey.Enter)                          //vyrobi
                        {
                            bool exitvyroba = false;
                            for (int z = 0; z <= hodnoty.inventar.GetLength(0) - 1; z++)
                            {
                                if (hodnoty.inventar [z, 2] == hodnoty.craft [volbavyroby, 6] && Int32.Parse(hodnoty.inventar [z, 4]) >= Int32.Parse(hodnoty.craft [volbavyroby, 7]))
                                {
                                    for (int i = 0; i <= hodnoty.inventar.GetLength(0) - 1; i++)
                                    {
                                        if (hodnoty.inventar [i, 2] == hodnoty.craft [volbavyroby, 2] && hodnoty.inventar [i, 0] == hodnoty.craft [volbavyroby, 0] && hodnoty.inventar [i, 3] == hodnoty.craft [volbavyroby, 3])                                            // je uz v inv
                                        {
                                            hodnoty.inventar [i, 4] = (Int32.Parse(hodnoty.inventar [i, 4]) + 1).ToString();
                                            exitvyroba = true;
                                            hodnoty.inventar [z, 4] = (Int32.Parse(hodnoty.inventar [z, 4]) - Int32.Parse(hodnoty.craft [volbavyroby, 7])).ToString();
                                            break;
                                        }
                                        if (hodnoty.inventar [i, 0] == "0")                                          //najde volne misto
                                        {
                                            hodnoty.inventar [i, 0] = hodnoty.craft [volbavyroby, 0];
                                            hodnoty.inventar [i, 1] = hodnoty.craft [volbavyroby, 1];
                                            hodnoty.inventar [i, 2] = hodnoty.craft [volbavyroby, 2];
                                            hodnoty.inventar [i, 3] = hodnoty.craft [volbavyroby, 3];
                                            hodnoty.inventar [i, 4] = (Int32.Parse(hodnoty.craft [volbavyroby, 4]) + Int32.Parse(hodnoty.inventar[i, 4])).ToString();
                                            hodnoty.inventar [i, 5] = hodnoty.craft [volbavyroby, 5];
                                            hodnoty.inventar [z, 4] = (Int32.Parse(hodnoty.inventar [z, 4]) - Int32.Parse(hodnoty.craft [volbavyroby, 7])).ToString();
                                            exitvyroba = true;
                                            break;
                                        }
                                    }
                                }
                                if (exitvyroba == true)
                                {
                                    break;
                                }
                            }
                        }
                        if (volbavyroby >= hodnoty.craft.GetLength(0))
                        {
                            volbavyroby = hodnoty.craft.GetLength(0) - 1;
                        }
                        if (volbavyroby <= -1)
                        {
                            volbavyroby = 0;
                        }
                    }
                }
                if (volbainventar <= -1)
                {
                    volbainventar = hodnoty.inventar.GetLength(0) - 1;
                }
                if (volbainventar >= hodnoty.inventar.GetLength(0))
                {
                    volbainventar = 0;
                }
                if (vstupinventar.Key == ConsoleKey.Escape || vstupinventar.Key == ConsoleKey.E)
                {
                    otevrenyinventar = false;
                }
            }
        }