判斷是否吃飽為什么這里有bug呢,有時候會出現還沒吃飽就判斷為吃不下了
<?php
$sum = 12;//小寵物當前的饑餓程度
$now=0;
echo "我餓啦:-(";
echo "<br />";
while($sum<100)
{//小寵物的饑餓程度到100,表示小寵物吃飽啦,不用繼續喂了,沒吃飽繼續喂食
??? $num = rand(1,20);//隨機數,模擬喂食小寵物的小面包
?? ?$sum =($sum + $num)<=100?($sum + $num):($sum); //小寵物吃小面包
??? echo "主人喂了我".$num."%的食物";
??? echo ($now=($sum + $num)>100?("喂太多了,吃不下了,少點吧<br/>"."我已經吃了".$sum."%"):
???????? ("我還沒吃飽呢!"."我已經吃了".$sum."%"));
?? ?
??? echo "<br />"; ?
?
?? ?
}
echo "終于吃飽啦^_^";
?>
2016-04-01
我知道了,是因為$now=$sum+$num;但前面的三元表達式中,$sum=$sum+$num;所以$now算是=$sum+$num+$num;這可能是原因吧,希望對你有用
2017-07-04
樓主的代碼感覺很繞,簡單的弄復雜了;而且感覺用到的三元運算在這里不行,rand(1,20)因為是隨機的所以總會影響你三元運算的判斷,用if和break吧最簡單,或者樓上的if...else if...else的寫法都是正確的
2016-07-11
里面加個循環
2016-04-23
和
這兩句調換一下位置我覺得就可以解決了。
2016-04-01
我剛看了下,當你喂了10%,但$sum=24;