
Originally Posted by
JWag12787
So basically if I pause in #10, I pause in #10, and everyone advances around me?
Person in #11 jumps to #9 while #10 is paused?
No.
Did you even look at the timeline diagram? Nobody starts skipping around you except to become #1 while you're paused. Everyone advances normally, including the paused people, except that paused people cannot advance to #1.
Code:
1 2 3 4 5 6 7 8 9 10 11 12
I C J K L M N O P Q R S
!! !!
[I is served. C is paused, so holds at 2. J skips ahead.
O is paused but not on deck, so P does not skip them]
1 2 3 4 5 6 7 8 9 10 11 12
J C K L M N O P Q R S T
!! !!
[C unpauses queue]
1 2 3 4 5 6 7 8 9 10 11 12
J C K L M N O P Q R S T
!!
[J is served]
1 2 3 4 5 6 7 8 9 10 11 12
C K L M N O P Q R S T U
!!

Originally Posted by
Tohe-Spidhire
From a programming standpoint, it would have to be something like:
2- You are automatically shuffled back in the queue whenever someone with your role is "behind you"
What? Why would you think that is necessary?
The coding concept is simple.
Pseudocode:
Code:
q.pop
i = 0
while q[i].ispaused
++i
remove q[i] and re-insert them at front of queue
Whenever the first person in the queue is served, skip anyone at the front of the queue who is paused. The first unpaused person becomes the front of the queue.