Kezdőoldal » Számítástechnika » Programozás » Mitől nem fut le a forciklus?...

Mitől nem fut le a forciklus? (c#)

Figyelt kérdés

az egy2 változónak az értéke 9. Egyszer kirajzolja a képet, és többször nem.

Ez a kód:

for (int i = 0; i < egy2; i++)

{

kep = new Bitmap("zsetonok\\1.png");

g.DrawImage(kep, new Point(v, 103));

egyeszseton2.Location = new Point(150, 160);

egyeszseton2.Text = Convert.ToString(egy2);

v += 2;

}


Ha segít valamit ez a teljes kód a metódusban:


public void zseton()

{

double zseton_penz = penzem;

szazezres = zseton_penz / 100000;

szazezres = Math.Floor(szazezres);

zseton_penz=zseton_penz-(szazezres*100000);

tizezer = zseton_penz / 10000;

tizezer = Math.Floor(tizezer);

zseton_penz = zseton_penz - (tizezer * 10000);

ezer = zseton_penz / 1000;

ezer = Math.Floor(ezer);

zseton_penz = zseton_penz - (ezer * 1000);

szaz = zseton_penz / 100;

szaz = Math.Floor(szaz);

zseton_penz = zseton_penz - (szaz * 100);

tiz = zseton_penz / 10;

tiz = Math.Floor(tiz);

zseton_penz = zseton_penz - (tiz * 10);

egy = zseton_penz / 1;

egy = Math.Floor(egy);

zseton_penz = zseton_penz - (egy * 1);

BackgroundImage = Image.FromFile("asztalom.png");

Graphics g = Graphics.FromImage(BackgroundImage);

int v = 680;

for (int i = 0; i < egy; i++)

{

kep = new Bitmap("zsetonok\\1.png");

g.DrawImage(kep, new Point(v, 103));

egyeszseton.Location = new Point(700, 160);

egyeszseton.Text = Convert.ToString(egy);

v += 2;

}

v = 680;

for (int i = 0; i < tiz; i++)

{

kep = new Bitmap("zsetonok\\10.png");

g.DrawImage(kep, new Point(v, 183));

tizeszseton.Location = new Point(700, 240);

tizeszseton.Text = Convert.ToString(tiz);

v += 2;

}

v = 680;

for (int i = 0; i < szaz; i++)

{

kep = new Bitmap("zsetonok\\100.png");

g.DrawImage(kep, new Point(v, 263));

szazaszseton.Location = new Point(700, 320);

szazaszseton.Text = Convert.ToString(szaz);

v += 2;

}

v = 590;

for (int i = 0; i < ezer; i++)

{

kep = new Bitmap("zsetonok\\1000.png");

g.DrawImage(kep, new Point(v, 103));

ezreszseton.Location = new Point(610, 160);

ezreszseton.Text = Convert.ToString(ezer);

v += 2;

}

v = 590;

for (int i = 0; i < tizezer; i++)

{

kep = new Bitmap("zsetonok\\10000.png");

g.DrawImage(kep, new Point(v, 183));

tizezreszseton.Location = new Point(610, 240);

tizezreszseton.Text = Convert.ToString(tizezer);

v += 2;

}

v = 590;

for (int i = 0; i < szazezres; i++)

{

kep = new Bitmap("zsetonok\\100000.png");

g.DrawImage(kep, new Point(v, 263));

szazezreszseton.Location = new Point(610, 320);

szazezreszseton.Text = Convert.ToString(szazezres);

v += 2;

}

double tetzseton = tet;

szazezres2 = tetzseton / 100000;

szazezres2 = Math.Floor(szazezres2);

tetzseton = tetzseton - (szazezres2 * 100000);

tizezer2 = tetzseton / 10000;

tizezer2 = Math.Floor(tizezer2);

tetzseton = tetzseton - (tizezer2 * 10000);

ezer2 = tetzseton / 1000;

ezer2 = Math.Floor(ezer2);

tetzseton = tetzseton - (ezer2 * 1000);

szaz2 = tetzseton / 100;

szaz2 = Math.Floor(szaz2);

tetzseton = tetzseton - (szaz2 * 100);

tiz2 = tetzseton / 10;

tiz2 = Math.Floor(tiz2);

tetzseton = tetzseton - (tiz2 * 10);

egy2 = tetzseton / 1;

egy2 = Math.Floor(egy2);

tetzseton = tetzseton - (egy2 * 1);


v = 130;

for (int i = 0; i < egy2; i++)

{

kep = new Bitmap("zsetonok\\1.png");

g.DrawImage(kep, new Point(v, 103));

egyeszseton2.Location = new Point(150, 160);

egyeszseton2.Text = Convert.ToString(egy2);

v += 2;

}

}


A teljes kód VÉGÉN van a kérdéses ciklus, a korábbi ciklusok mind JÓL lefutnak. Valaki meg tudja mondani h az utsó mért csak 1 szer fut le? Köszönöm előre


2011. nov. 3. 20:20
 1/4 _Jessy_ ***** válasza:
de lefut, csak a 9. zseton képe kitakarja az első nyolcat
2011. nov. 3. 22:39
Hasznos számodra ez a válasz?
 2/4 A kérdező kommentje:
de mért takarja ki? hisz arrébb rakja mindig 2 pixellel arra van a v változó.
2011. nov. 4. 09:54
 3/4 _Jessy_ ***** válasza:
a 9. 18 pixellel van jobbra az elsőtől. Egyébként miért kettővel? Ne várd, hogy az összes zsetonod látszódjon, hacsak nem 2 pixel szélességűek
2011. nov. 4. 15:36
Hasznos számodra ez a válasz?
 4/4 A kérdező kommentje:
Jaj te :D 30 pixel szélesek a zsetonok. ÉS mitn korábban is említettem ahola saját pénzem van ott működk a kód. Az az első 6 forciklus. az utolsó, nem emgy rendesen az már a tétnek a zsetonjai. És nem az a léyneg, hogy az egész látszódjon, hanem csak valami torony félét rajzoljon, ki amihez tökéletes a 2 pexeles eltolás, de ez szó szerint ráteszi 0 eltolással.
2011. nov. 4. 15:53

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!