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


Zobrazeno 6 zpráv z 6.
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.



Zde to je:
private void timer1_Tick(object sender, EventArgs e)
{
for (int i = 0; i < 22; i++)
{
for (int j = 0; j < 4; j++)
{
if (micek.Bounds.IntersectsWith(pole[j, i].Bounds))
{
pohyby *= -1;
pole[j, i].Left += 1000; // Byl problém s odstraněním pictureboxu, proto při narazení míčku do pictureboxu se postune o 1000 do řiti.
}
}
}
Další nepotřebný kód.
private void panel1_Paint(object sender, PaintEventArgs e)
{
int bod = 0;
if (micek.Top > 380)
{
bod = -10;
}
else
{
//if ()
//{
// bod += 5; // Zjistit, kdy zmizí picturebox (posune se o 1000).
//}
label5.Text = Convert.ToString(bod);
}
}
To, že říkáš souřadnicím picturebox, je poměrně zavádějící.
A tento kus kódu je vcelku nic
neříkající. 
Náhodou tu nedávno na fóru někdo řešil něco podobného http://www.itnetwork.cz/…3328438bac8e , hádám ale, že
jsi na to narazil, protože to násobení pohybu -1 jsem tam tehdy doporučoval
já a u tebe je to takové dost osamocené.
Tehdy jsem si to i naprogramoval,
takže vím, že na to najdeš moc dobře, ikdyž z takového kousku kódu - kdo
ví. 
Já jsem to tehdy řešil tak, že jsem si udělal nějaké veřejné
proměnné, třeba:
private int kulickaX = 50; // souřadnice kuličky X
private int kulickaY = 50; // souřadnice kuličky Y
private int deskaX = 50; // souřadnice desky X
private int deskaY = 50; // souřadnice desky Y
private int R = 10; // poloměr kuličky
private int pohybX = 5; // o kolik se posune v čase ve směru X
private int pohybY = 5; // ..
Timer by sis měl udělat, aby volal metody, co se mají provádět, tedy spíš něco takovéhoto:
private void dispatcherTimer_Tick(object sender, EventArgs e)
{
VykresliBod();
PosunKulicku();
}
Přičemž ono posunutí kuličky by stačilo ve smyslu:
kulickaX += pohybX;
, samozřejně by se tam musel hlídat kontakt s deskou a hranama panelu,
při jehož kontaktu s horní nebo dolní pohybY vynásobil -1, a při kontaktu
s levou nebo pravou stranou pohybX vynásobil -1. 
Každopádně bys neměl programovat páte přes deváte, ale první si
naprogramovat pohyb samotné kuličky, pak třeba přidat pohyblivou desku, pak
odrážení atd.. a né hned všechno naráz. 
místo posouvání do pryč ten picturebox raději schovej přes
.Visible = false;
(a akorát si v tom intersectu i kontroluj, jestli je picturebox vidět).
Pořád nevím, kam ty pictureboxy chceš ukládat 
Body by měly třeba jako
private int body = 0;
u formuláře - pak jsou tam uloženy po celou dobu, co formulář existuje, pokud je máš jen uvnitř funkce, tak o tu hodnotu vždy přijdeš hned na konci funkce a při jejím dalším volání je tam zase defaultní hodnota.
Zobrazeno 6 zpráv z 6.