Maison  >  Article  >  développement back-end  >  Exemple de code de jeu PHP Joseph

Exemple de code de jeu PHP Joseph

不言
不言avant
2019-02-14 14:22:103701parcourir

Ce que cet article vous apporte, c'est l'exemple de code du jeu PHP Joseph. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

30 personnes sur un bateau, surchargé, 15 personnes nécessaires pour débarquer. Alors les gens font la queue, et la position dans la file est leur numéro. Comptez à partir de 1 et ceux qui comptent jusqu'à 9 descendent du bateau. Ce cycle continue jusqu'à ce qu'il ne reste plus que 15 personnes sur le bateau. Quel nombre de personnes ont débarqué ?

$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.&#39;号下船了&#39;.PHP_EOL;
		$numberStart--;
	}
	$i++;
}
print_r($peopleList);
/*
9号下船了
18号下船了
27号下船了
6号下船了
16号下船了
26号下船了
7号下船了
19号下船了
30号下船了
12号下船了
24号下船了
8号下船了
22号下船了
5号下船了
23号下船了
*/

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer