
C# vysvětlení metody
ahojte lidi :) mám problém v C# .. jestli je tu někdo ochotný mi pomoct zanechte koment :)
zde kousek meho problému :D budu to pak muset dovysvětlit takhle to fakt nejde :D
private void newFood() //Places food(umístí jídlo)
{
foodNum = 0;
for (int y = 0; y < 30; y++) // v Stores positions of all the food(ukládá pozici jídla)
{
for (int x = 0; x < 30; x++)
{
if (Box[x, y].BackColor == Color.Blue)
{
foodXPos[foodNum] = x;
foodYPos[foodNum] = y;
foodNum += 1;
Box[x, y].BackColor = Color.Black;
}
}
potřebuju vědět co dělá tahle funkce v mém hadovi.. je to složitější než se zdá :D
Změna předmětu, původně: Problém v C# pomoc :D (martin.developer)
Mas to tam napisane. Umístí jídlo.
Pozicie ktore su v poli Box modrou farbou pozadia si ulozi do pola foodXPos a foodYPos, a zmeni farbu pozadia na ciernu.
P.S. zmysel to nedava ziaden (to si "programoval" ty?)
ja vím :) jestli bys mohl poslal bych ti ten program a vysvětlil bych ti problém:)
Problem mozes vysvetlit aj tu.
dobře takže na ročnikovou práci jsem měl udělat hada .. bylo nam řečeno že ti slabší to můžou stáhnout a napsat co dělají funkce... a při obhajovaní se mě zeptal na tohle a nemužu přijít na to jak to funguje.. prostě to v tom programu dělá co chce a ja tomu nerozumím .. když se změní čísla nebo se něco vymaže jednou to přidá 2 jídla a jednou žádny a tak podobně .. to by jste asi museli vidět i se zbytkem programu.. potřebuju nějak vysvětlit jak to pracuje / přepsat to aby to dělalo to stejné ale aby to bylo pochopitelné a normální
Nedělá to, co chce. Dělá to přesně to, jak je to naprogramované.
dobře promin ale to že mi řekneš že se v tom nevyznám mi nepomůže vyřešit problém.. to vím sám..:)já sem přišel pro pomoc:)
Nic takového jsem nepsal. Pokud chceš pomoct, tak se taky na něco musíš zeptat. Zatím ses zeptal pouze na jednu metodu a její funkce už tu byla vysvětlena.
otazka znie, kedy a ako sa meni v Boxe hodnota farby na Blue. Pretoze tato funkcia pri zavolani vsetko zmeni na black.
můžu sem dat odkaz na youtube na stáhnutí hada?
uz to tu malo byt
watch děkuju že se snažíte:)
ty vole to je riadny spageti kod.
Kdyby jenom to, třetinu kódu tvoří 10 prakticky stejných metod.
Kto má čas a chuť potrebuje celý Tvoj program, nikto nebude čumieť na YT...
ten program je na stáhnutí pod videem
Tak jo, stáhnul jsem si to. Co bys teda chtěl vědět?
jak funguje ta část kterou jsem poslal .. celý ten cyklus.. bylo mi řečeno že když to vysvětlím tak mi to uzná .. nebo to nějak trošku upravit aby to bylo vysvětlitelný a fungovalo to stejně..
Ale to už ti tu přece psali. Vyhledá modré prvky, změní je na černé a uloží si jejich pozice.
a co dělá to foodNum = 0; ?
Nastaví hodnotu proměnné foodNum na nulu.
a proč má být to foodnum na nule?
Protože slouží jako počítadlo nalezených modrých prvků.
děkuju zkusím mu to říct tak :) kdyžtak napíšu :) děkuji prozatím:)
Super a pak se tě zeptá, k čemu se to počítadlo používá a už zase nebudeš vědět nic. Měl by sis na to sednout s nějakým šikovnějším spolužákem, aby ti to vysvětlil pořádně, protože z tohohle velmi špatného kódu se nic dobrého nenaučíš.
Jenže to by ses tomu musel věnovat delší dobu a nezačít to řešit tři týdny před koncem školního roku.
pozri si metodu timer1_Tick
v nej sa vola aj NewFood. Zistuje sa, ci had zjedol jedlo. Ak ano, tak ta metoda newFood zvacsi hada o 1 dielik a umiestni jedlo niekde inde na hracej ploche.
Zle sa to cita preto, ze na kazdu blbost pouziva cyklus for aj tam kde nemusi.
Nie je to také "zložité" ako sa zdá...
Nastaví sa premenná foodNum na 0 (vynuluje sa počítadlo jedál), prechádza sa komplet hracia plocha v cykle X,Y o rozmeroch 30x30, ak je pozadie "políčka" Box modrej farby,
nastaví sa pole s pozíciou jedla foodXPos a foodYPos podľa aktuálnej pozície prechádzaných políčok X,Y, zväčší sa hodnota počtu jedál foodnum o jedničku, farba pozadia políčka sa vyfarbí čiernou farbou...
Jak prosté...
nevěděli by jste jak to napsat bez toho Foodnum? jinak? prosíím :D
A kde chces akoze skladovat tu hodnotu ak nie v premennej prislusneho datoveho typu?
A ty vravis ze si robil nejaku rpacu a jej obhajobu? Dobre si pobavil, nemas o tom ani tusenia.
Zacni sa ucit zaklady a fofrom, ked ani nevies preco hento a preco tamto.
ja řikal že to nedělal.. ja sem přišel pro pomoc ne proto abys mi psal že o tom nic nevím .. běž si honit triko někam jinam:)
Jenže styl tvých dotazů spíš vyznívá tak, že nechceš pomoct, ty chceš, aby to někdo udělal za tebe.
Tak preco riesis daco co si nerobil a nevies ako to funguje? Sprav si vlastny kod, ktory si navrhnes tak, ako ti to vyhovuje.
Nemysli si, ze to za teba bude dakto tuna robit, ty chodis na tu skolu, ty to mas vediet. Presne ako napisal Wikan, vyzeras ze chces aby to dakto spravil za teba.
Ja neviem co vlastne mas za problem. Foodnum tam byt musi aby clovek vedel kolko zaznamov ma v tych poliach foodXPos a foodYPos. Da sa to urobit cele aj inac, to co sa neskor robi s tymi foodXPos a foodYPos sa da presunut priamo do cyklu a nebudu vobec potreba, da sa to napisat milion roznymi sposobmi. Neni ale dovod to menit.
nemohl bys to napsat? vypadá to že tomu rozumíš nebude to pro tebe problém .. ja to hledal všude možně celej včerejšek ale hodně jsem chyběl tento rok kvůli nemoci a vynechal jsem toho hodně takže v tom Csharpu moc neumím
Podle toho, co píšeš, neumíš vůbec nic, ale to je teď vedlejší.
foodXPos a foodYPos by se daly deklarovat jako List<int> místo int[], pak by se do nich přidávalo pomocí metody Add(), čímž by se eliminovala potřeba proměnné foodNum.
Ja neviem co mam napsat a co presne po tebe ten ucitel chce? Zatial to tajis.
ted mi řekl přesně tohle "napišto nějak jinak bez foodnum" :D takže to abych tohle změnil aby tam nebylo foodnum .. :)
Už jsem psal, jak to udělat bez toho.
a mohl bys mi napsat přesně tu část kodu kterou potřebuju ? :D jelikož víš že v tom nic neumím tak snad máš pochopení pro mou situaci :D a vypadá to že to pro tebe neni takový problém
Projev taky trochu vlastní snahy. Něco zkus a pak se přijď poradit, pokud ti něco nepůjde.
ja se snažím ale tohle je fakt nad moje chápání .. :D já ani pořádně neívm co ten foodnum přesně má za smysl a jak přesně funguje. :(( :D pomoc prosím D:
Nesnažíš se ani trochu. Kdyby ses snažil, tak už to dávno máš. Možná by ses místo nadměrného psaní smajlíků měl trochu věnovat studiu.
co je v tom programu proměná pro jídlo ?
Cože?
No koukám, že ses přesunul na živě. Tak to hodně štěstí.
promiňte ale když po 10 dnech co tu je můj problém jste schopní psát jen že tomu nerozumím?to vím i bez vás..
Už jsem ti psal, co máš udělat. Tvůj problém, že jsi to ani nezkusil, to na nás fakt neházej.
ja mam tento jazyk první rok.. a polovinu jsem byl kvuli nemoci pryč.. chápu že vám to příjde strašně lehký ale mně fakt ne :D
Tak si zober poznamky od spoluziaka alebo ucebnicu alebo cokolvek a uc sa. Tym ze tu budes pisat ze to nechapes sa to nenaucis.
Ten jazyk je principialne stejny jak vsetky ostatne jazyky, jaky jazyk teda chapes?
Pole vies co to je? Ak ne tak si to zadaj do google.
Tohle bys měl levou zadní dávat nejpozději po měsíci. Takže máš o několik měsíců větší kvalifikaci, než potřebuješ. Taky jsem ti radil, ať si to necháš vysvětlit od nějakého spolužáka. Pro tenhle problém by klidně stačilo jedno odpoledne, abys to pochopil. Ale to jsi taky neudělal.
no to jsem zkoušel nikdo neví.. žadnej spolužák ani z vyšších ročniku proto jsem přišel pro pomoc sem ..
Oni nemaju nic vedet, oni ti maju dat len poznamky a ty si ich mas nastudovat.
Neříkej, že to nikdo z nich neví, to v tom případě nikdo z vás na té škole nemá co dělat.
nejlepší ze třídy mi s tím pomaha a taky si neví rady takže ne
Co je to za školu? Ať vím, kam nikdy neposlat své děti.
List<int> foodXPos;
List<int> foodYPos; takhle to má být?
Kromě deklarace je to ještě potřeba zinicializovat.
List<int> foodXPos = new List<int>();
List<int> foodYPos = new List<int>();
normalny clovek by si ale urobil nejaku strukturu {x,y}, a urobil len jeden List typu ta struktura.
toto je sice ok, ale musis separatne loopovat cez dve premenne, co nie je zrovna good practice.
odporucam urobit si strukturu a tu ukladat do listu.
Aj keby boli 2 Listy oddelene (typu int), tak to bude prechadzat len v jednom cykle, pricom i potom testuje oproti obom naraz (i<X.Count && i<Y.Count). Ale ano normalnejsie je to dat do jedneho listu.
mohl bys mi dát nějakej kontakt na tebe? něbo něco prosím ?:D snažil jsem se ti napsat na ten twitter ale ted jsem si to založil a nevím jestli ti došlo :D
Chod na pieskovisko, vysyp si tam gulicky a pocitaj ich. foodnum je to cislo ktore si drzis v hlave pri pocitani. Najprv je 0, potom je 1, potom 2, a tak dalej, az kym si spocitas vsetky gulicky. Je to napisane jasne v tom programe.
Ked nemas absolutne ani ponatia tak to proste nedas, zober si ucebnicu a uc sa uplne zaklady. Co t oje premenna, co to je ked napisem a=10; alebo a++; apod. Az ked si to nastudujes, tak az potom sa snaz citat nejaky program.
(BTW. inac nechapem co robis na skole kde sa uci programovat, nechcel si ist niekde na polnohospodarstvo alebo lepsie na pravo ti nerobia nic cely den len chlastaju)
P.S. a ten ucitel ti neda pokoj prave preto ptz chce aby si si sadol a nastudoval si aspon tie poondiate zaklady, ktore ste urcite preberali cely rok.
FoodNum (ako sa dá tušiť) znamená počet jedál, ak Ti stačí iba jedno jedlo umiestnené na hracej ploche, potom to FoodNum nepotrebuješ...