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í.
Avatar
Flouwie
Neregistrovaný
Avatar
Flouwie:14.5.2012 16:23

Ahoj, potřeboval bych poradit ohledně kódu... Zřejmě tam mám nějakou hrubku nebo nevím :/

 using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace jednooky_bandita
{
    public class JB
    {
        public int buben;
        public int symboly;
        public int skore;
        public int vysledek;
        private Random nahoda;

        public JB(int b, int s)
        {
            buben = 4;
            symboly = s;
        }

        /// <summary>
        /// Načte do pole tolik náhodných čísel, kolik jich bude načteno v konstruktoru
        /// </summary>
        /// <returns></returns>
        public int[] Paka()
        {
            int[] pole = new int[buben];

            for (int i = 0; i < buben; i++)
            {
                pole[i] = nahoda.Next(1, symboly) + 1;
            }

            return pole;
        }

        /// <summary>
        /// z pole Paka seřadí čísla a porovná ty, které se shodují
        /// pokud najde shodu k výsledku se přičtě 1
        /// </summary>
        /// <returns></returns>
        public int Zhodnoceni()
        {
            int[] pole = Paka();
            int pomocna = 0;
            Array.Sort(pole);

            for (int i = 0; i < symboly; i++)
            {
                pomocna++;

                for (int y = 0; y < buben; y++)
                {
                    if (pomocna == pole[i])
                    {
                        vysledek++;
                    }
                }
            }

            return vysledek;
        }

        /// <summary>
        /// skóre má za úkol vzít informace z výsledku, např je vynásobit desíti a výsledek bude skóre
        /// </summary>
        private int Skore
        {
            get
            {
                vysledek = vysledek * 10;
                skore += vysledek;

                return skore;
            }
        }
    }
}
 
Odpovědět
14.5.2012 16:23
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:14.5.2012 16:41

Ahoj,
příště prosím napiš, kde ti program hlásí chybu ať nemusíme hledat.
Co jsem vypozoroval u nahoda netvoříš instanci objektu random:

private Random nahoda = new Random();

a u buben má být počítám

buben = b;
Nahoru Odpovědět
14.5.2012 16:41
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Flouwie
Neregistrovaný
Avatar
Odpovídá na David Jančík
Flouwie:14.5.2012 16:44

ajo, promiň ;) no, chybu mi to dělá ve Zhodnoceni... výsledky mi to háže: 0, 4, 8, 16...

 
Nahoru Odpovědět
14.5.2012 16:44
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:14.5.2012 17:10

Mi pošli kód, jak to voláš. Já totiž nevím co to konkrétně má dělat a tak nevím co mám dávat na vstup a očekávat že bude výstupem.

Nahoru Odpovědět
14.5.2012 17:10
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Flouwie
Neregistrovaný
Avatar
Flouwie:14.5.2012 20:57

má z toho být něco takovýhleho...

http://www.webnoviny.sk/…w-potato.jpg

 
Nahoru Odpovědět
14.5.2012 20:57
Avatar
Flouwie
Neregistrovaný
Avatar
Odpovídá na
Flouwie:14.5.2012 20:57

akorát ty bubny tam budou čtyři a né tři :)

 
Nahoru Odpovědět
14.5.2012 20:57
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na
David Jančík:15.5.2012 18:53

No moc ten algoritmus nechápu každopádně přetečení je způsobeno tím, že v cyklu máš jinačí délku než je délka pole - stačí udělat jednoduchou úpravu -> prohodit ty proměnné.

for (int i = 0; i < buben; i++)
            {
                pomocna++;

                for (int y = 0; y < symboly; y++)
                {
                    if (pomocna == pole[i])
                    {
                        vysledek++;
                    }
                }
            }

Ale ten algoritmus je takové čudné.

Nahoru Odpovědět
15.5.2012 18:53
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Flouwie
Neregistrovaný
Avatar
Odpovídá na David Jančík
Flouwie:15.5.2012 21:14

ajó :D tak díky moc :)

 
Nahoru Odpovědět
15.5.2012 21:14
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 8 zpráv z 8.