IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
dextertrin
Člen
Avatar
dextertrin:17.6.2015 17:41

Zdravím měl jsem na pololetní práci udělat hada v C# .. jelikož jsem tento rok dost chyběl učitel mi povolil stáhnout hada a vysvětlit ho .. nechápu tu přesně jeden cyklus
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;
}
} nevím jak to funguje.. prosím o vysvětlení a jestli by se někomu povedlo to změnit aby to dělalo to stejný ale bez Foodnum .. byl bych moc vděčný :) přídam hada na stahnuti .. jde rozjet ve visual studiu 2010 a 2013

 
Odpovědět
17.6.2015 17:41
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 17:54

Najde to všechny modré políčka, změní je na černou a zároveň si je uloží do foodXYPos - to jsou asi 2 pole, které udržují pozice jídel (modrých políček).

Jestli to chceš nějak modifikovat, tak bych udělal asi tohle

public struct Point { public int X, Y;}
List<Point> foodPositions; // nezapomen to inicializovat v konstruktoru

private void newFood() //Places food(umístí jídlo)
{
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)
{
foodPositions(new Point{X = x, Y = y});
Box[x, y].BackColor = Color.Black;
}
}
 
Nahoru Odpovědět
17.6.2015 17:54
Avatar
dextertrin
Člen
Avatar
Odpovídá na Jan Vargovský
dextertrin:17.6.2015 18:18

nemohl bys mi ten tvůj funkční program sem hodit celej prosím?:)

 
Nahoru Odpovědět
17.6.2015 18:18
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 18:29

To není můj program, jen modifikovaná tvoje metoda.

EDIT: http://pastebin.com/tha4A2HW tohle jsem se někdy nudil a napsal, ale chytrý z toho asi nebudeš :D

Editováno 17.6.2015 18:31
 
Nahoru Odpovědět
17.6.2015 18:29
Avatar
dextertrin
Člen
Avatar
Odpovídá na Jan Vargovský
dextertrin:17.6.2015 18:41

dočetl jsem se že konstruktor se používá ve třídách a tu já tam nemám.. takže co ?:D

 
Nahoru Odpovědět
17.6.2015 18:41
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 18:45

Ukaž mi tu třídu.

 
Nahoru Odpovědět
17.6.2015 18:45
Avatar
dextertrin
Člen
Avatar
Odpovídá na Jan Vargovský
dextertrin:17.6.2015 18:47

ted nerozumím :D tys mi tam předtím napsal "List<Point> foodPositions; // nezapomen to inicializovat v konstruktoru " Kam to mám napsat?

 
Nahoru Odpovědět
17.6.2015 18:47
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 18:48

Jako lokální proměnnou třídy. Ukaž mi tu třídu ve které je ta metoda.

 
Nahoru Odpovědět
17.6.2015 18:48
Avatar
dextertrin
Člen
Avatar
Odpovídá na Jan Vargovský
dextertrin:17.6.2015 18:51

ja tam třídu nemám ..

 
Nahoru Odpovědět
17.6.2015 18:51
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 18:57

Tak asi neprogramuješ v C#.

 
Nahoru Odpovědět
17.6.2015 18:57
Avatar
dextertrin
Člen
Avatar
dextertrin:17.6.2015 18:57

ja tento jazyk mám chvilku takže se omlouvám že to občas bude vypadat že jsem uplně blbej (skoro pořád a jsem) :D

 
Nahoru Odpovědět
17.6.2015 18:57
Avatar
dextertrin
Člen
Avatar
dextertrin:17.6.2015 19:01

Chci v mém programu změnit ten foodnum tím cos mi poslal
public struct Point { public int X, Y;}
List<Point> foodPositions; // nezapomen to inicializovat v konstruktoru

private void newFood() //Places food(umístí jídlo)
{
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)
{
foodPositions(new Point{X = x, Y = y});
Box[x, y].BackColor = Color.Black;
}
}'
ale nevím kam mám napsat
List<Point> foodPositions;
Nevím co je to konstruktor, takže nevím ka to mám inicializovat.

 
Nahoru Odpovědět
17.6.2015 19:01
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na dextertrin
Jan Vargovský:17.6.2015 19:02

Uploadni někde ten projekt.

 
Nahoru Odpovědět
17.6.2015 19:02
Avatar
denisvu3
Člen
Avatar
Odpovídá na Jan Vargovský
denisvu3:17.6.2015 19:16

http://www.mediafire.com/…+Project.rar snažím se o to už pár minut ale moc spamuju mam ban na chat takže druhej učet :D

 
Nahoru Odpovědět
17.6.2015 19:16
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na denisvu3
Jan Vargovský:17.6.2015 19:22

To nemá ani cenu přepisovat jak je to dementně napsané :D

 
Nahoru Odpovědět
17.6.2015 19:22
Avatar
denisvu3
Člen
Avatar
Odpovídá na Jan Vargovský
denisvu3:17.6.2015 19:23

Potřebuji to jen přepsat, aby to fungovalo bez toho foodnum.

 
Nahoru Odpovědět
17.6.2015 19:23
Avatar
Jan Vargovský
Tvůrce
Avatar
Odpovídá na denisvu3
Jan Vargovský:17.6.2015 19:39

Mi se to nechce zkoumat, když je to napsané 10x složitěji než by to šlo napsat :D narušil bys tím strukturu celého programu a musel to celé zrefaktorovat.

 
Nahoru Odpovědět
17.6.2015 19:39
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.