Diskuze: Generování postav
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 15 zpráv z 15.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.


Ahoj, projeď si sekci Práce se soubory: http://www.itnetwork.cz/csharp/soubory je tam vše popsáno od začátku po ukládání instancí objektů.
Doporučuji formát XML.
Děkuju, pročetl jsem si teda hlavně ty formáty xml, ale pořád nevím jak vytvořit ten seznam jmen a příjmení a náhodně je přiřazovat. Myslíte že by bylo vhodné ten seznam udělat přes pole?
Na poli zde nevidím nic špatného. Stačí ti 2 pole, z těch vždy vybereš náhodný prvek a sestavíš jméno postavy.
Random r = new Random();
string[]
names = new string[] { "Karel", "Jan", "Pavel", "Antonín" };
lastNames = new string[] { "Novotný", "Skočdopole", "Vyskočilzokna", "Nanozešimrá" };
int randomIndex = r.Next(names.Length - 1);
string randomFullName = names[randomIndex] + " " + lastNames[randomIndex];
Určitě by si měl udělat 2 indexy, může mít jiný počet jmen a příjmení. Ten random mi připadá blbě, má tam být
r.Next(names.Length);
Máš-li v poli deset věcí, rozsah indexů bude 0..9 - takže tam musí být - 1...
Místo hádání se si nastuduj metodu Next() na třídě Random a vlastnost Length na poli.
Jestliže chceš seznam jmen a příjmení, možná by se hodilo použití seznamu, tedy třídy List.
Ale pokud má předem vytyčený počet lidí, tak to je přeci pole - navíc, když nebude chtít nic dynamického. Ovšem pokud bude chtít mazat zápasníka, co prohrál, pak bych možná šel také do listu...
Pokud záleží na pozici jmen, tak je to pole. Například Karel bydlí v bytě č. 5. Budu ho chtít v poli na 5. pozici. Když se odstěhuje, byt zůstane prázdný do doby, než se tam nastěhuje někdo jiný. Mezitím se však nikdo v sousedních bytech stěhovat nebude.
Nejde o to, jestli používáme raději pole, seznam, slovník či množinu. Pro každý problém je nutné vybrat tu správnou datovou strukturu, která vystihuje podstatu.
Dříve bylo obvyklé, že se na všechno používalo pole, protože jiná možnost nebyla. Vlastně byla. Ještě pointery. Proto se nad nimi budovaly nadstavby. Vyšší jazyky tyto nadstavby mají již v sobě zahrnuty ve formě předdefinovaných tříd a vypilovány tak, aby byly co nejefektivnější. Nám zbývá tyto struktury využívat. Pole stále má své uplatnění, ale už jen jako pole. Pointery nám vývojáři pro jistotu zakázali.
Javovské pole je dost hloupé, ale to v .NETu umí úplně to samé jako seznam, jen má konstantní velikost. Pokud nechce jména dynamicky přidávat a např. jen jednorázově odněkud načíst, nevidím v tom problém a pole mi přijde jako vhodná kolekce.
Vím že už je to trošku starší téma, ale trvalo mi než jsem se k tomu opět dokopal něco dělat. Díky za kód, ale ještě jsem ho trošku vylepšil. Myslím že o tom mluvil sdraco, protože jména a přijmení dostali vždy stejný index, takže celé jména byla pokaždé stejná.
Random r = new Random();
string[]
jmena = new string[] { "George", "John", "Peter", "Michael", "Chuck" };
string[]
prijmeni = new string[] { "Santos", "Washington", "Freeman", "Jackson", "Newman", "Silva" };
int randomIndexj = r.Next(jmena.Length);
int randomIndexp = r.Next(prijmeni.Length);
string randomFullName = jmena[randomIndexj] + " " + prijmeni[randomIndexp];
Ještě teda musím prostudovat to celkové generování postav, aby každá měla náhodné ability atd.
Zobrazeno 15 zpráv z 15.