Avatar
qwertyW
Redaktor
Avatar
qwertyW:

Zdar, rozhodl jsem se že si vytvořím "simulátor" mariáše, a chtěl jsem vyrobit rozdávání, k čemuž potřebuju náhodu, leč ta nefunguje.

    class Stul
    {
        public int[] piky = { 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        public int[] herce = { 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        public int[] kary = { 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        public int[] krize = { 7, 8, 9, 10, 11, 12, 13, 14, 15 };
        private Random nahoda;

        hrac1_2 hrac1 = new hrac1_2();
        hrac1_2 hrac2 = new hrac1_2();
        hrac3 hrac3 = new hrac3();


        public Stul()
        {


        }



        public void rozdej()
        {


        }
        public int vyberKartu(string karta)
        {
            int a = 0;
            if (karta == "krize")
            {
                 a = krize.Length;


            }
            return nahoda.Next(1, a + 1);
        }



    }
}
namespace Marias
{
    class Program
    {
        static void Main(string[] args)
        {
            Stul stul = new Stul();

            Console.WriteLine(stul.vyberKartu("krize"));
            Console.ReadKey(false);

       }
    }
}

Když spustím aplikaci tak mi VS podbarví

return nahoda.Next(1, a + 1);

a napíše Odkaz na objekt není nastaven na instanci objektu
předem děkuji za radu.

Editováno 14.5.2014 21:03
Odpovědět 14.5.2014 21:02
Programuji, tedy jsem.
Avatar
rwn
Člen
Avatar
Odpovídá na qwertyW
rwn:

Ten random pokud ho chceš jako private proměnnou, tak ho musíš mít takto:

private Random nahoda = new Random();

Je to obdoba toho tvého odkazování na stůl z Main.. přičem se odkazuješ na třídu Random. Tak jak jsi to měl napsané ty, jsi v podstatě jen vytvořil proměnnou typu random. :)

Editováno 14.5.2014 21:17
Nahoru Odpovědět  +1 14.5.2014 21:15
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na rwn
qwertyW:

děkuji, funguje.

Nahoru Odpovědět 14.5.2014 22:17
Programuji, tedy jsem.
Avatar
Odpovídá na qwertyW
Michal Štěpánek:

Jen se chci zeptat, kvůli čemu tam máš ty karty od sedmi do patnácti, když normálních karet je jen 8 (od sedmičky po eso)?

Nahoru Odpovědět 15.5.2014 7:42
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Odpovídá na Michal Štěpánek
Jakub Lásko[Saarix]:

Třeba dělá nějakou svojí edici :-) Originalitě se meze nekladou.

Nahoru Odpovědět 15.5.2014 10:27
Časem je vše možné.
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Michal Štěpánek
qwertyW:

no, v pravém mariáši karty jsou taky od 7... a přišlo mi to přehlednější, už z hlediska výpisu do konzole...

Nahoru Odpovědět 15.5.2014 16:42
Programuji, tedy jsem.
Avatar
Odpovídá na qwertyW
Michal Štěpánek:

Já se ale ptal, proč jich tam máš 9?

Nahoru Odpovědět 15.5.2014 16:45
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
qwertyW
Redaktor
Avatar
Odpovídá na Michal Štěpánek
qwertyW:

dík, jsem se sek ve výpočtu :O
když počítam 7+8....

Editováno 15.5.2014 17:39
Nahoru Odpovědět 15.5.2014 17:38
Programuji, tedy jsem.
Avatar
Odpovídá na qwertyW
Michal Štěpánek:

tak to jó, já myslel, že to tam je kvůli něčemu schválně...:-)

Nahoru Odpovědět 15.5.2014 18:06
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.