ppublic static int play(int[] round,int nowStep,int step)
{
//已经数了一个数 例:3个数,它需要知道已经数到第几个数了
int temStep=nowStep;
//把数到3的玩家用“0”标记他,表示他已经出局。
int numIsZero=0;
//反回最后一个玩家的位置
int result=-1;
//所有人数数
for(int i=0;i<round.length;i++)
{
//如果玩家没有被标记为"0"也就是出局,才可以数这3个数
if(round[i]!=0)
//数了一个了,自然要减掉一个数
temStep--;
//如果3个数数没了。应该在弄3个数,目的是直到所有玩家出局。
if(temStep==0)
{
//保存数到3个这个人的位置
result=i;
//下面的print是为了显示出出局玩家的顺序。
//System.out.print("["+round[i]+"] ");
//这个i玩家已经数到3了,所以标记他出局给他值"0".
round[i]=0;
//让后面的玩家在读这3个数
temStep=step;
}
}
//查看是不是所有玩家都出局了
for(int i=0;i<round.length;i++)
numIsZero+=round[i];
// **这一步保存没数完的数,然后循环回来让前面的人继续数
nowStep=temStep;
//如果所有玩家都被标记出局
if(numIsZero==0)
//返回出局玩家的位置,因为树组从0开始,所以加1
return result+1;
else
//所有玩家就是一个圈,把数据传回去,在走一圈
//round 圈里的人包含了被标记的
//nowStep 当前数到几了!,如果第3个人数到1 那么前面的人要数2和3
//step 游戏规则里数的几个数
return play(round,nowStep,step);
}
Three Out
最新推荐文章于 2024-09-16 13:39:40 发布