Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno c# jak na provereni zadani ANO ci NE

Hezky Silvestr.
Hledám řešeni na můj problém.
Potřebuji napsat kod, který mi ověří, jestli uživatel zadal pro pokračovaní ANO nebo NE.
Toto ověření chci mit asi na smýče while, kde když uživatel zada ANO zustane ve smyce, po zadani NE, ze smyčky vystoupí.
Aplikace je konsolová v csharp.

Prozatim mam zaklad neco takového :

namespace Hod_Kostkou_Test
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Random random = new Random();
            int kostka = random.Next(1, 7);
            string volba = Console.ReadLine();
                     
            while 'NEVIM'                 
            {
                Console.WriteLine("Napis ANO pro pokracovani, nebo NE pro ukonceni");
            }       
            Console.ReadKey();          
            {
                Console.WriteLine("Hodil jsi cislo : '" + kostka + "' Chces pokracovat ?");
                Console.ReadKey();
            }

            Console.WriteLine("Konec hry");
            Console.ReadKey();
        }
    }
}
Předmět Autor Datum
To čo je za "sračka"? while 'NEVIM' - toto má byť podmienka? si naštuduj cyklus while... ReadKey má…
pme 31.12.2016 19:51
pme
Dekuji za vaši zdvořilost :-[ "sračka" to nemela byt, ale místo, kde NEVIM co zadat. Vas kód zkusím…
Sopp 31.12.2016 19:54
Sopp
Osobně bych místo tohoto Napis ANO pro pokracovani, nebo NE pro ukonceni zvolil něco takového: Ch…
host 31.12.2016 20:04
host
Dekuji HOST. Ono, jde o to, ze jsem se sekl v jednom while, proto jsem chtel beh ve smyce zkusit jin…
Sopp 31.12.2016 20:14
Sopp
• Ono jak pise 'host', stisk jedné klávesy muze byt zajímavější moznost. • C# není něco co bych něja…
XoXoChanel 01.01.2017 12:34
XoXoChanel
Hezký napsaný :puff:
MašinkaTomáš 02.01.2017 13:31
MašinkaTomáš
To se nemyslim, c# znam jen nejaky zaklad, deklaraci trid, metody, trochu .net, kdybych to mel delat…
XoXoChanel 02.01.2017 13:45
XoXoChanel
Obsah jsem nějak nezkoumal, ale když vidím tvé rady, vidím je hezky s klidem rozepsané, což se mi lí… poslední
MašinkaTomáš 02.01.2017 13:49
MašinkaTomáš

To čo je za "sračka"?
while 'NEVIM' - toto má byť podmienka? si naštuduj cyklus while...
ReadKey má akože prečítať zadanie 'ANO' alebo 'NE' - opäť si najprv naštuduj rozdiel medzi ReadKey a ReadLine ....

string pokracovat = "ano";
while (pokracovat == "ano")
{
      ....  
        Console.WriteLine("Přejete si pokračovat? [ano/ne]");
        pokracovat = Console.ReadLine();
}

Dekuji HOST.
Ono, jde o to, ze jsem se sekl v jednom while, proto jsem chtel beh ve smyce zkusit jinak, slo jen o kontrolu, jestli mi class Hraci_Kostka vraci spravne hodnotu k tomuto kodu, ktery je jen testovni :
(redKey jsem pouzival misto Brzdy v VS, ne protoze sem chtel napsat sracku)

       Console.WriteLine("Test Hod Kostkou");

            Hrac hrac = new Hrac();
            hrac.BylZasazen(20);
            int vysledek = (hrac.Zivot);

            while (vysledek > 0)
            {              
                if (vysledek > 0)
                {
                    Console.WriteLine("Tvuj Zivot je : '" + vysledek + "' z celkového 100, chete pokracovat ?");
                    Console.ReadKey();
                }
                else
                {
                    Console.WriteLine("Jsi mrtev");
                    Console.ReadKey();
                }           
            }

            Console.WriteLine("ZA SMICKOU WHILE");
                Console.ReadKey();
        }

Dekuji, stastny novy rok, naschledanou
Vyreseno.

• Ono jak pise 'host', stisk jedné klávesy muze byt zajímavější moznost. • C# není něco co bych nějak ovládal, ale kdybych byl na tvém miste, bych tvuj kousek codu prepsal spise :

Console.WriteLine("-- 'H' pro vrzeni  kostky--");
  Hrac hrac = new Hrac();
   hrac.BylZasazen(20); 
    int vysledek = (hrac.Zivot);    
      while(Console.ReadKey().Key == ConsoleKey.H && vysledek > 0) //Overeni- Zda-li je stiskla klavesa "H/h" a hrac.zivot je vic jak "0", se bude opakovat {code} v závorce.
            {
             Console.WriteLine("Přejete si pokračovat? Hod kostkou = 'H', nebo libovolnou klavesu pro pokračovaní . . . .]");                                
                {
                 Console.WriteLine("Vas 'Zivot' je : '" + vysledek + "', chcete pokračovat ?");                                    
                }                         
            }
            // Code ktery se spusti kdyz neplati podminka while, kdyz uzivatel Ne - stiskl klavesu "H" nebo "vysledek"/hrac.zivot, nema zivot, hodnota mensi jako "0".
              Console.WriteLine("Kdyz 'hodnota' int zivot neni vetsi jako '0' a uzivatel nezadal klavesu 'H/h'");          
        }

• Hraci kostku  bych deklaroval jako novou public class, asi nějak tak :

 public class Kostka
    {
        private Random random;

        public Kostka()
        {
            random = new Random();
        }

        public int HodKostkou()
        {
            return random.Next(1, 7);
        }
    }
}

TiP ~ Jestli používáš RedKey() pro pozastaveni kódu, tak na místo použij primo 'Brzdu' ve Visual Studiu, stačí jen kliknout vedle řádku, tato funkce je velmi důležitá a to i proto, proto, ze můžeš nahlédnou na tvé "Promené" jakou mají hodnotu, coz ti napomůže v pripade, ze ti něco nesedí, jestli verifikuješ hodnoty , alespoň v mém případě by mi opravdu chyběla.
*Ilustrační obrázek, stačí jen kliknou na řádek, kde chceš vlozit brzdu-'Break', vložit jich jde vice, po spuštěni az kód bude na Break, můžeš procházet tvůj cod a nahlédnout jaké mají promené hodnoty, treba kolik hodila tva kostka, nebo jestli je true v pripade bool etc. .
[img]http://i.stack.imgur.com/7ZsIm.jpg[/img]

Zpět do poradny Odpovědět na původní otázku Nahoru