Hod kostkou C++ wxWidgets

Vývojová prostředí, aplikace, skripty, http://www... síťové programy, internet, sdílení...
Odpovědět
Hlavson
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. lis 2007

Hod kostkou C++ wxWidgets

Příspěvek od Hlavson »

Čus všichni.. :)
Potřeboval bych takovou menší radu. Mám za úkol do konce dubna udělat program na generování čísel od 1 do 6... tzv. hod kostkou, všichni znáte :)

Děláme to v vx-DevC++ 6.10.2 -> ,když by někdo chtěl hodím odkaz (dá se vygooglit)
Abych to upřesnil, jedná se o tzv. grafické prostředí, říká náš učitel :-D Mám plochu, kde jsou dvě tlačítka, jedno bude zastupovat generování čísla, druhé vypnutí programu.
Vypnutí zvládnu, ale generování čísla bohužel ne, ani jsme to neprobírali... bohužel. :?

Vygenerované číslo by se mělo zobrazit v ListBoxu... popř jiném zobrazovací komponentě.

Tady máte potřebné zdrojáky :)

http://www.edisk.cz/stahni/41830/hod_ko ... .83KB.html

Díky moc, beru každou radu :), pokud budou dotazy, jen se ptejte.
€agle
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 13. lis 2003
Bydliště: Vlastní 3D svět :)
Kontaktovat uživatele:

Re: Hod kostkou C++ wxWidgets

Příspěvek od €agle »

A co konkrétně nevíš, jak generovat to číslo, nebo jak ho dostat do toho listboxu?
Eagle3D Engine under developement

Hledáme do firmy schopného ASP/VB.NET/C# programátora, více po SZ
Hlavson
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. lis 2007

Re: Hod kostkou C++ wxWidgets

Příspěvek od Hlavson »

Mám to takhle :-)

/*
* WxButton1Click
*/
void hodkostkouFrm::WxButton1Click(wxCommandEvent& event)
{
float a;
string st;
prev.clear();
prev >> a;
a = (rand() % 6) + 1;
prev.clear();
prev << a;
prev >> st;
WxListBox1->Append(st);
}

Jenže bych to potřeboval udělat ještě tak, že pokud padne 6, program automaticky hodí sám znovu...tak jako ve skutečnosti, když hodíte 6, hážete znovu :wink:
petr_
Začátečník
Začátečník
Uživatelský avatar
Registrován: 10. led 2006
Bydliště: Praha
Kontaktovat uživatele:

Re: Hod kostkou C++ wxWidgets

Příspěvek od petr_ »

dej to do cyklu while(1){......... if(cislo !=6){break}........}
/*
* WxButton1Click
*/
void hodkostkouFrm::WxButton1Click(wxCommandEvent& event)
{
float a;
string st;
prev.clear();
while(1){

prev >> a;
a = (rand() % 6) + 1;

if(a !=6){break}
}
prev.clear();
prev << a;
prev >> st;
WxListBox1->Append(st);
}

jo ten tvůj projekt na mě vyhazuje nějakou podivnou chybu při kompilaci, takže jsem to nezkoušel.
NTB: 13" MacBook Air mid. 2013, Haswell i7-4650U, 8GB LPDDR3, 256GB SSD
PC: Xeon 5550, 6GB DDR3, geforce 8800GTS 640MB
Hlavson
Začátečník
Začátečník
Uživatelský avatar
Registrován: 19. lis 2007

Re: Hod kostkou C++ wxWidgets

Příspěvek od Hlavson »

Vyřešeno, sice pomocí if... namísto while, ale funguje.

Kód: Vybrat vše

string st;
	prev.clear();
	prev >> a;
	a = (rand() % 6) + 1;
	prev.clear();
	prev << a;
	prev >> st;
	st = ("Hodil si : " + st);
	WxListBox1->Append(st);

	if(a==6)
        {
            string omg;
            prevo.clear();
            prevo >> a;
            a = (rand() % 6) + 1;
            prevo.clear();
            prevo << a;
            prevo >> omg;
            omg = ("Na 2. hod : " + omg);
            WxListBox1->Append(omg);
    }
Jen dotaz, jak udělám to, aby se ListBox automaticky posunoval(zobrazovaly se nové hodnoty), pokud už je hodnot v něm víc, než je jeho výška ??
Např. do ListBoxu se vleze 15 řádků, ale 16. už je zobrazen mimo a je nutno posuvníkem posouvat. Něco jako zobrazování posledního řádku..... dík
Odpovědět

Zpět na „Programování a web“