游戏规则:
班级中玩一个游戏,所有学生围成一圈,从某位同学手里开始向旁边的同学传一束花,这个时候某个人(比如班长),在击鼓,鼓声停下的一刻,花在谁手里,谁就出来表演节目
修改游戏规则:
几个朋友一起玩一个游戏,围成一圈,开始数数,数到某个数字的人自动淘汰,最后剩下的这个人会获得胜利,请问最后剩下的是原来在哪个位置上的人
封装一个基于队列的函数:
// 击鼓传花
function passGame(arr, num) {
// 1.创建一个队列结构
let queue = new Queue()
// 2.将所有人加入到队列中
arr.forEach(item => {
queue.enqueue(item)
})
// 3.开始游戏
while (queue.size() > 1) {
for (let i = 0; i < num - 1; i++) {
// 3.1 当前不是num,将其在队列中删除,并将其下一个人加入到队列末尾
queue.enqueue(queue.dequeue())
}
// 3.2 是num,将其在队列中删除
queue.dequeue()
}
// 4.返回最后一个人
return queue.front()
}