Kezdőoldal » Számítástechnika » Programozás » While ciklussal megoldható ez...

Aufdeutschbitte kérdése:

While ciklussal megoldható ez a példa?

Figyelt kérdés

Egy lekérdezést csinálok, hogy az én pénzemet vegye figyelembe egy az adatbázisban lévő személlyel. Lekérdezi, hogy neki mennyi és mennyi az enyém, majd egy random (1,6) számot használ. Tehát én pénzem:250ft Béla pénze:1000ft akinek kisebb a random számja annak kivonja a másik ember randját a pénzéből és ezt 3 körön keresztül csinálja. és a végén kiírná pl:béla sebzett 20-t te 255-t, mivel te sebezted a többet te nyertél. Mit kéne kijavítanom?

$kor = 3;

$tomb = array();

$tomb[0] = 0;

$x = 1;

while ( $x <= $kor )

{

$y=0;

$tomb_elemek_szama = count($tomb);

while ( $y <= $tomb_elemek_szama)

{

$enrand=mt_rand(1,6);

$ellenfelrand=mt_rand(1,6);

if($enrand != $tomb[$y])

{$y=$y+1;}

}



$tomb[$x] = $enrand;

if($ellenfelrand > $enrand)

{

print "<br>";

print "Az ellenfel randja nagyobb :$ellenfelrand és az enyém :$enrand";

mysql_query("UPDATE users SET arany= arany- '$ellenfelrand' WHERE id = '$stat[ID]'");

}

else

if($enrand > $ellenfelrand)

{

print "<br>";

print " Az enyém nagyobb : $enrand és az övé : $ellenfelrand";

mysql_query("UPDATE users SET eletero = eletero - '$enrand' WHERE id = '$rec[ID]'");

}

$x=$x+1;

}


2015. ápr. 10. 20:05
1 2
 1/12 anonim ***** válasza:
Meg.
2015. ápr. 10. 20:30
Hasznos számodra ez a válasz?
 2/12 anonim ***** válasza:
Egyébként borzasztó ez a kód.
2015. ápr. 10. 20:31
Hasznos számodra ez a válasz?
 3/12 anonim ***** válasza:

Meg a jövőre nézve: SOHA nem rakj be olyan input-ot egy adatbázis query-be, amibe a felhasználó értéket beírhat. SOHA.


Ennél nagyobb biztonsági rést nehéz nyitni egy weblapon. Jobb ha most megszokod, mintha később szívsz vele :)

2015. ápr. 10. 22:19
Hasznos számodra ez a válasz?
 4/12 A kérdező kommentje:

if( $stat[penz] > 0 && $rec[penz] > 0)

{

$x = 1;

$kor=10;

while ( $x <= $kor )

{

$enrand=mt_rand(1,6);

$ellenfelrand=mt_rand(1,6);


if($ellenfelrand >= $enrand)

{

print "<br>";

print "Az ellenfel randja nagyobb :$ellenfelrand és az enyém :$enrand";

mysql_query("UPDATE users SET penz = penz - '$ellenfelrand' WHERE id = '$stat[ID]'");

}

else

if($enrand > $ellenfelrand)

{

print "<br>";

print " Az enyém nagyobb : $enrand és az övé : $ellenfelrand";

mysql_query("UPDATE users SET penz = penz - '$enrand' WHERE id = '$rec[ID]'");

}

$x=$x+1;

}

}

else

if($stat[penz] <= 0)

{echo "elfogyott a pénzed ő nyert";}

else

if($rec[penz] <= 0)

{echo"ellenfeled pénze elfogyott te nyertél";}


idáig jutottam,de ez 10 körön keresztül fut,addig szeretném,hogy fusson,míg valamelyiknek vagy mindkettőjüknek nulla nem lesza pénzze.Ötlet valakinek?

2015. ápr. 11. 09:39
 5/12 anonim ***** válasza:
Akkor miért nem azt csinálod?
2015. ápr. 11. 09:57
Hasznos számodra ez a válasz?
 6/12 A kérdező kommentje:
hova kéne behelyettesítenem a dolgokat,mert nem tudom,ez a bajom,már rég megcsinálnám,ha tudnám! :D
2015. ápr. 11. 10:02
 7/12 anonim ***** válasza:

Behelyettesíteni?

Ez nem puzzle.

Hol kéred le a felhasználó pénzét?

Mi a búbánatnak írod bele újra és újra az adatbázisba?

Miért a köröket számolod, ha a pénz elfogyását akarod?

Mik azok a tömbök?

2015. ápr. 11. 10:23
Hasznos számodra ez a válasz?
 8/12 A kérdező kommentje:
a felhasználó pénzét már lekértem,csak azt nem írtam ki,azzal ne is foglalkozz.na akkor ti hogy írnátok meg ha ilyen okosok vagytok? :D
2015. ápr. 11. 10:29
 9/12 A kérdező kommentje:

while ($stat[penz] > 0 && $rec[penz] > 0)

{

$enrand=mt_rand(1,6);

$ellenfelrand=mt_rand(1,6);

if($ellenfelrand >= $enrand)

{

$enpenz=$stat[penz]-$ellenfelrand;

print "<br>Pénzem: $stat[penz] , $enpenz,-$ellenfelrand ";


$stat[penz]-=$ellenfelrand;

}

if($enrand > $ellenfelrand)

{

print "<br>Pénze: $rec[penz], ";


$rec[penz]-=$enrand;

}

}

2015. ápr. 12. 19:34
 10/12 A kérdező kommentje:
Na csak megírtam a dög seperne el benneteket! :D
2015. ápr. 12. 19:35
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!