PHP约瑟夫小游戏的代码示例

不言
发布: 2019-02-14 14:22:10
转载
3979人浏览过

本篇文章给大家带来的内容是关于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中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
相关标签:
来源:CSDN网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号