這篇文章帶給大家的內容是關於PHP約瑟夫小遊戲的程式碼範例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
30 個人在一艘船上,超載,需要 15 人下船。於是人們排成一隊,排隊的位置就是他們的編號。報數,從 1 開始,數到 9 的人下船。如此循環,直到船上只剩 15 人為止,問都有哪些編號的人下船了呢?
$numberStart = 30; //开始的人数 $numberLive = 15; //最终剩下的人数 $numKill = 9; //"中奖"号码 $peopleList = []; for($i=1; $i<=$numberStart; $i++){ $peopleList[$i]=1; //1表示生 0表示死 } $numSay=0;//报号 $i =1;//索引(人员位置编号,相当于枪指向谁) $maxIndex = $numberStart; while (true){ if($i > $maxIndex ){//循环一圈后,重新开始 $i = 1; } if($numberStart==$numberLive){//游戏结束条件 break; } if($peopleList[$i]==0){//如果这个人已经"离开"了,让下一个人报号 $i++; continue; } $numSay++; if($numSay==$numKill){ $peopleList[$i] = 0; $numSay = 0; echo $i.'号下船了'.PHP_EOL; $numberStart--; } $i++; } print_r($peopleList); /* 9号下船了 18号下船了 27号下船了 6号下船了 16号下船了 26号下船了 7号下船了 19号下船了 30号下船了 12号下船了 24号下船了 8号下船了 22号下船了 5号下船了 23号下船了 */
以上是PHP約瑟夫小遊戲的程式碼範例的詳細內容。更多資訊請關注PHP中文網其他相關文章!