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; }
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); } } }
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; } } } }
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; } } }