Náhodný generátor - hra Uhodni číslo.

Transkript

Náhodný generátor - hra Uhodni číslo.
Generování náhodného čísla, objekt Memo
V této kapitole s dovíte jak vygenerovat náhodné číslo a seznámíme se novým objektem Memo,
kterého lze použít jak pro výstup tak provstu. Oproti Editu se liší v tom, že pracuje s více řádky.
Náhodné číslo
Pro různé testovací programy nebo hry (od jednoduchých po složitější) je často potřeba volit
náhodné číslo. Ve většině programovacích jazycích existuje obdobná funkce pro volbu náhodného
čísla - random:
Funkci RANDOM je možné využít dvěma způsoby:
–
k volbě náhodného přirozeného čísla, jako parametr se do závorky uvede horní hranice:
např. random(10)
zvolí náhodné číslo od nuly do devíti (vždy o 1 menší než je číslo v závorce)
–
k volbě náhodného desetinného čísla - do závorky se nepíše žádný parametr:
random() - zvolí náhodné desetinné číslo větší nebo rovno nule a menší než 1
Aby bylo možno se vygenerovaným číslem dále pracovat, je potřeba uložit ho do proměnné:
a:=random(50);
V mnoha případech nebudeme chtít volit náhodné číslo od nuly, potom stačí přičíst "spodní hranici"
čísel, která chceme volit, například:
a:=1+random(6) – vygeneruje číslo od 1 do 6
a:=10+random(91) – vygeneruje číslo od 10 do 100
Pokud budete spouštět program, který bude obsahovat random, víckrát, budou sice volena náhodná
čísla, ale při každém spuštění stejná. V podstatě se tato čísla vybírají z nějaké tabulky náhodných
čísel, chcete-li tuto tabulku vyměnit, je nutno použít příkaz randomize.
Na procvičení náhodného generování čísel si vytvoříme jednoduchou hru. Program vygeneruje
náhodné číslo v rozmezí 0 až 100 a úkolem hráče bude toto číslo uhodnout. V případě neúspěšného
pokusu program vypíše do objektu Memo, hlášení je-li hádané číslo větší nebo menší než číslo,
které zadal hráč. Program bude také počítat na kolik pokusů hráč číslo uhádl.
Založte si novou aplikaci a připravte formulář dle obrázku.
Na formuláři jsou použity dva nové objekty Memo. Objekt Memo naleznete na kartě Standart.
Text do objektu Memo zadáme přes vlastnost Lines v okně, které se otevře po kliknutí na 3 tečky.
Změníme vlastnost Enable objektu Memo1 s napsaným textem na False, čímž znepřístupníme
objekt pro editaci. Uživatel nebude moci měnit obsah objektu.
Vytvoříme proceduru, která se bude spouštět po
spuštění formuláře. Jedná se o metodu formuláře
OnActive. Do programového kódu ji vložíme
kliknutím na ...
Zdrojový kód všech procedur a tlačítek vidíte níže. Jediný použitý a doposud nevysvětlený příkaz je
memo2.lines.add(inttostr(pokus)+'. pokus. Výborně uhodl si.');
Tento příkaz přidá do objektu Memo jeden řádek obdobně jako u ListBoxu. Obdobně se i smaže
obsah Memo: memo2.cler;
Úkol:
Vytvořte aplikaci dle této kapitoly.
Doplň úlohu o možnost volby intervalu pro náhodné číslo (od kolika do kolika se bude náhodné
číslo generovat).
Rozšiř úlohu na hru "Hon na lišku", ve které se hádané číslo po každém pokusu zvětší (například
o 3). Pokud se dostane nad zvolenou hranici, začne se zase dané číslo zmenšovat, než se dostane ke
spodní hranici a stále dokola se pohybuje v daných "hranicích", dokud není "chyceno".

Podobné dokumenty

Studijní text - Personalizace výuky prostřednictvím e

Studijní text  - Personalizace výuky prostřednictvím e Významná část probírané látky je doplněna výukovými programy, které by na základě řízené animované výuky měly vést k snadnému pochopení jednotlivých postupů při programování. Snahou autorů dokonce ...

Více

Cracking 4 newbies…

Cracking 4 newbies… něco jako „goto“, můžete tuto instrukci v debuggeru přeskočit „F8“ nebo „jít do callu“ (trace into), tlačítkem „F7“ NOP – NO OPeration, žádná operace…tento příkaz je zkrátka zbytečný, ale i přes to...

Více

sr_pg_305

sr_pg_305 for (int j = 0; j < 3; j++) textBoxVystup.Text += tabul[0, j] + " "; Celou tabulku můžeme zpracovat ve dvou cyklech for nebo v jednom cyklu foreach. foreach (int x in tabul)

Více

Stáhnout materiál Úvod do Deplhi

Stáhnout materiál Úvod do Deplhi 1. File/New Application (nebo první spuštění Delphi) vygeneruje nový formulář s příslušným kódem. 2. V Inspektoru objektů (OI) klepneme do okénka Caption (popisek) a napíšeme jméno formuláře – Pozd...

Více

Konsensus pro cílený screening celiakie dospělých ve Fakultní

Konsensus pro cílený screening celiakie dospělých ve Fakultní Konsensus pro cílený screening celiakie dospělých ve Fakultní nemocnici v Plzni Východisko: Celiakie je autoimunitní onemocnění, které vzniká u geneticky disponovaných jedinců jako reakce na poţití...

Více

Mgr. Zdeněk Sloboda

Mgr. Zdeněk Sloboda z mnoha důvodů. Rozhodně ji nelze považovat v kontextu sexuality za všeobecný jev, je spíše extrémem. Autor se snaží prezentovat všechna data, která dotazníkem změřil, a to i tehdy, kdy nejsou rel...

Více

PŘÍRUČKA PRO UŽIVATELE A ADMINISTRÁTORY pomocí 2

PŘÍRUČKA PRO UŽIVATELE A ADMINISTRÁTORY pomocí 2 první pilotní verzi Školního webu v roce 2004 byl použit CMS PostNuke .7.2.4. Hlavní vývojový tým projektu CMS PostNuke již v polovině roku 2005 deklaroval zveřejnění nové řady CMS PostNuke číslova...

Více