18-02-2006, 11:39
|
|
|
חבר מתאריך: 10.12.05
הודעות: 164
|
|
בעיה בקוד PHP משחק. לא מעדכן תוצאות
היי.
אני מפתח משחק בPHP כדי ליישם את הידע שצברתי עד כה..אבל משום מה זה לא יוצא לי.
הקוד שאני מראה לכם כאן הוא אמור לעשות את הדבר הבא:
אם (כוח ההתקפה של התוקף>כוח ההגנה של המגן) בצע:
חישוב של הזהב שמקבל התוקף
חישוב האדמה שמקבל התוקף
כמות החיילים שהורג התוקף למגן
עידכון בבסיס הנתונים
אחרת, אם (כוח ההתקפה של התוקף<כוח ההגנה של המגן) בצע:
כמות החיילים שהורג המגן לתוקף
עידכון בבסיס הנתונים
זה הקוד:
קוד PHP:
$attstrength=$userstats3[attackpower]*$userstats3[lvl]; $dffstrength=$victimselect3[defensepower]*$victimselect3[lvl];
if ($attstrength>$dffstrength) // Attacker wins { $wongold=80*$victimselect3[gold]; $wongold=$wongold/100; $wongold=round($wongold); $wonland=$victimselect3[land]/10; $wonland=round($wonland);
$MaxArmy=$victimselect3[offarmy]+$victimselect3[dffarmy]; $MaxArmy=$MaxArmy/3; $MaxArmy=round($MaxArmy);
$battlerecord="INSERT into km_battlerecords (victimid,attid,attname,result,landlost) values('$victimselect3[ID]','$userstats3[ID]','$userstats3[playername]','lost','$wonland')"; mysql_query($battlerecord) or die("Could not update records"); $updatestats1="update km_users set land=land+'$wonland', gold=gold+'$wongold' where ID='$userstats3[ID]'"; mysql_query($updatestats1) or die("Could not gain land"); $updatestats2="update km_users set dffarmy=dffarmy-'$MaxArmy', land=land-'$wonland' ,gold=gold-'$wongold' where ID='$victimselect3[ID]'"; mysql_query($updatestats2) or die("Could not lose land"); print "<center>ניהלת התקפה מאוד מוצלחת"; print "<tr class='mainrow'>ניצחת בקרב
"; print "<tr class='mainrow'>כבשת $wonland דונם אדמה. גנבת $wongold זהב מהאוייב. הרגת לאוייב $dffloss חיילים. "; print "</table>
";
} else if ($dffstrength>$attstrength) // Attacker Lose { $MaxArmy=$userstats3[offarmy]+$userstats3[dffarmy]; $MaxArmy=$MaxArmy/3; $MaxArmy=round($MaxArmy);
$updatestats1="update km_users set offarmy=offarmy-'$MaxArmy' where ID='$userstats3[ID]'"; mysql_query($updatestats1) or die("Could not gain land"); $battlerecord="INSERT into km_battlerecords (victimid,attid,attname,result,landlost) values('$victimselect3[ID]','$userstats3[ID]','$userstats3[playername]','won','0')"; mysql_query($battlerecord) or die(mysql_error()); print "<center>ההתקפה נכשלה"; print "<tr class='mainrow'>הפסדת בקרב
"; print "<tr class='mainrow'>ככל הנראה האסטרטגייה שניהלת לא הייתה טובה מספיק כנגד האויב, הוא קרע לך את הצורה ואתה הפסדת $dffloss חיילים חזור אחורה"; print "</table>
"; }
הבעיה היא שהתוקף לא מקבל אדמה, זהב או הורג חיילים במקרה והוא חזק.
והתוקף אינו מפסיד חיילים במקרה והוא חלש.
למישהו יש מושג למה?
|