Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Error:Odkaz na objekt není nastaven na instanci objektu.

Aktivity
Avatar
qwertyW
Tvůrce
Avatar
qwertyW:14.5.2014 21:02

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
rawen
Člen
Avatar
Odpovídá na qwertyW
rawen:14.5.2014 21:15

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
14.5.2014 21:15
Co můžeš naprogramovat dnes, neodkládej na zítřek.
Avatar
qwertyW
Tvůrce
Avatar
Odpovídá na rawen
qwertyW:14.5.2014 22:17

děkuji, funguje.

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

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]:15.5.2014 10:27

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
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
qwertyW:15.5.2014 16:42

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:15.5.2014 16:45

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
Tvůrce
Avatar
Odpovídá na Michal Štěpánek
qwertyW:15.5.2014 17:38

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:15.5.2014 18:06

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.