NOVINKA: Získej 40 hodin praktických dovedností s AI – ZDARMA ke každému akreditovanému kurzu!
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 – Lekce 4 - Hrací kostka v C# - Zapouzdření, konstruktor a Random

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Michal Gros
Tvůrce
Avatar
Odpovídá na vfsdfsdfdsf
Michal Gros :1.3.2015 21:53

Stačí do konstruktoru přidat tohle a máš u všech kostek náhodné číslo
Jak to ale funguje netuším :)

nahodneCislo = new Random(Guid.NewGuid().GetHashCode());
Odpovědět
1.3.2015 21:53
Jestli jste dobří nahrnou na Vás spoustu práce. Jestli jste sakra dobří, tak se jí dokážete zbavit.
Avatar
Tomáš Brůna
Tvůrce
Avatar
Tomáš Brůna:25.3.2015 20:46

Ahoj nevíte jak by šlo v C# udělat něco jako tohle kód je v Javě:
pocty.java

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package scitani;
import java.util.Random;
import java.util.Scanner;
/**
 *
 * @author asus
 */
public class pocty {Scanner sc = new Scanner(System.in);
    Random hod = new Random();
private int a;
private int b;
private int vysledek;
public void pocitej()
{do
{
    a= 0;
b = 0;
vysledek = 0;

b = hod.nextInt(50);
a = hod.nextInt(50);


System.out.printf("%d + %d = \n",a,b);
vysledek = Integer.parseInt(sc.nextLine());
if (vysledek == a + b)
System.out.println("Správně");
else
System.out.println("Špatně");}while(vysledek!=878787);
}



}

(toto je jen třída výpis vím jak udělat)
Předem děkuju všem za rady :)

Editováno 25.3.2015 20:47
Odpovědět
25.3.2015 20:46
Vi veri universum vivus vici
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Tomáš Brůna
Ondřej Štorc:25.3.2015 20:49

Když si pročteš zdejší úvodní seriál do C# a prvních pár dílů tak to dokážeš stvořit sám bez problému (zvlášt jestli už umíš javu, ta si jen koukneš na nějaký detaili..) BTW. na todle by sis měl spíš založit nové vlákno ve fóru...

Odpovědět
25.3.2015 20:49
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Tomáš Brůna
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Tomáš Brůna:25.3.2015 21:32

Ještě to zkusím nějak sesmolit :) ale zatím se mi to nějak nedaří

Odpovědět
25.3.2015 21:32
Vi veri universum vivus vici
Avatar
Ondřej Štorc
Tvůrce
Avatar
Odpovídá na Tomáš Brůna
Ondřej Štorc:25.3.2015 21:33

Tak kdyžtak pak založ nový vlákno ve fóru a neřeš to tady :)

Odpovědět
25.3.2015 21:33
Život je příliš krátký na to, abychom bezpečně odebírali USB z počítače..
Avatar
Tomáš Brůna
Tvůrce
Avatar
Odpovídá na Ondřej Štorc
Tomáš Brůna:25.3.2015 22:10

Už se stalo :)

Odpovědět
25.3.2015 22:10
Vi veri universum vivus vici
Avatar
Migi
Tvůrce
Avatar
Odpovídá na OBU5
Migi:12.12.2015 9:57

Asi takhle nejak :-)

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

namespace Arena
{
    class Program
    {
        static void Main(string[] args)
        {
            Kostka sestistenna = new Kostka();
            Kostka desetistenna = new Kostka(3);
            Boolean souhlas = false;

            while (!souhlas)
            {
                Console.WriteLine("Hadej cislo od 1-3:");
                int hadane_cislo = 0;


                while (!int.TryParse(Console.ReadLine(), out hadane_cislo))
                {
                    Console.WriteLine("Zadene cislo neni cislo, prosim zadej cislo");
                }

                if (hadane_cislo == desetistenna.hod())
                {
                    souhlas = true;
                    Console.WriteLine("GRATULUJI, uhadnul jsi to!");
                    Console.WriteLine("Hozene cislo bylo {0}", hadane_cislo);
                }
                else
                {
                    souhlas = false;
                    Console.WriteLine("Neuhadnul jsi to, zkus to znovu");
                }

            }

            Console.ReadLine();
        }
    }
}
Odpovědět
12.12.2015 9:57
I ta nejhorsi hodina v zivote trva jen 60 minut...
Avatar
Richard Brzokoupil:14.2.2016 13:39

Zdravím, mohl by mi prosím někdo osvětlit tuto část kódu ? :)

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

zajímalo by mě proč je do konstruktoru Kostka() přidána kódová část " random = new Random();" - jaká je její funkce, když se pro výpis náhodných čísel používá kódová část :

public int hod()
{
        return random.Next(1, pocetSten + 1);
}

děkuji za osvětlení :)

 
Odpovědět
14.2.2016 13:39
Avatar
Petr Čech
Tvůrce
Avatar
Odpovídá na Richard Brzokoupil
Petr Čech:14.2.2016 13:46

Protože jinak by random bylo null a nemohl bys volat metodu Next();
Jinak třída Random není náhodný, ale pseudonáhodný generátor. Proto nemůžeš použít na každý nový hod novou instanci- všechna "náhodná" čísla by byla stejná.

Odpovědět
14.2.2016 13:46
the cake is a lie
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na Petr Čech
Jan Vargovský:14.2.2016 14:21

všechna "náhodná" čísla by byla stejná

Jak jsi na to přišel?

 
Odpovědět
14.2.2016 14:21
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 10 zpráv z 154.