Diskuze: Kontrola kódu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 14 zpráv z 14.
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.
asi to bude chtit vic studovat 
xyz) proč se mi po přečtení návodu vypne hra;
xyz)chybí ošetření jiných vstupů při prvním switchi (a,b,c)
xyz)
"Nim je hra, kde můžete odebrat 1 až 3 zápalky z hromady,\nkde jich bude 10 až 100.
cislo.Next(10, 21);
Zkus popsat slovně jak má ta hra fungovat a já ti ukážu, jak by to mohlo
vypadat 
Já jsem to upravoval a zapomněl jsem to přepsat v návodu, protože u
počtu sirek větší jak 20 už to bylo hodně na dlouho;
Zapoměl jsem napsat, abych se po přečtení návodu vrátil do menu;
Na tohle jsem taky zapomněl
;
Je to moje první aplikace, kterou nedělám podle tutoriálu, tak jsem chtěl
aby jste my pomohli odhalit chyby, abych je už nedělal
Vybereš si v menu nová hra, náhodně se ti vygeneruje počet sirek od 10 do 20, potom si vybereš jestli budeš začínat ty a nebo PC a střídáte se v odbírání 1-3 sirek za kolo. Kdo odebere jako poslední vyhrál.
A víš o tom, že vždy existuje vyhrávající strategie pro jednoho z
hráčů? 
Vím, ale zatím jsem to neupravoval, později udělám náročnější verzi, aby to nebylo tak lehké najít.
Vždy když vidím někde v kódu "neuvážené" goto, tak mě v noci budí noční můry z raptorů (viz. obrázek).
PS: Vyhýbej se goto, nebo Tě sežere raptor.. True story.
internal static class Program
{
[STAThread]
private static void Main(string[] args)
{
Console.WriteLine("Chceš začít? ano/ne");
Player playerOnTurn = Console.ReadLine().ToLower() == "ano" ? Player.Human : Player.Pc;
Console.WriteLine("Kolik sirek? (10-20)");
int matchesCount = int.Parse(Console.ReadLine());
Console.Clear();
while (matchesCount > 0)
{
Console.WriteLine("Kolik sirek chceš odebrat? (1-3) Je jich aktualne {0}",
matchesCount);
int minus = 0;
if (playerOnTurn == Player.Human)
minus = int.Parse(Console.ReadLine());
else
minus = (matchesCount % 4 == 0) ? 1 : matchesCount % 4;
Console.WriteLine("Hráč {0} odebral {1} z celkoveho poctu {2}",
playerOnTurn,
minus,
matchesCount);
matchesCount -= minus;
if (matchesCount > 0)
playerOnTurn = (playerOnTurn == Player.Human) ? Player.Pc : Player.Human;
Console.WriteLine();
}
Console.WriteLine("Vyhrál "+ playerOnTurn.ToString());
}
}
enum Player
{
Pc, Human,
}
A teď mi budeš muset pár věcí objasnit
.
Co je za a) tohle
[STAThread]
b)proč je u třídy internal
c)Player playerOnTurn = Console.ReadLine().ToLower() == "ano" ? Player.Human :
Player.Pc;
d)minus = (matchesCount % 4 == 0) ? 1 : matchesCount % 4;
e)playerOnTurn = (playerOnTurn == Player.Human) ? Player.Pc : Player.Human;
f)Console.WriteLine("Vyhrál " + playerOnTurn.ToString());
Promiň, že tě tak otravuju.Díky za všechno.
S pozdravem GunSpawn
Ani to nemusíš chápat, ono to tam VS za tebe dává automaticky 
Je to v podstatě jednořádková podmínka (odborně ternární operátor). Dá se to napsat i jako:
if(Console.ReadLine().ToLower() == "ano")
playerOnTurn = Player.Human;
else
playerOnTurn = Player.Pc;
vždycky ti to přiřadí zbytek po
dělení 4. Dělá to úplně to samé co máš ty ve svém kódu, takže jestli
jsi ho psal, měl by jsi to chápat. Zase se to dá napsat do normálních
podmínek jako:if(matchesCount % 4 == 0)
minus = 1
else
minus = matchesCount % 4;
Tuhle hru už jsem viděl, stačí, aby člověk udělal 1 chybu a už
nemůže vyhrát 
Zobrazeno 14 zpráv z 14.
