mrkgnao: You are more likely to win a specific game the higher it is placed in your list (assuming others have also asked for it). Would you like me to post the pseudocode algorithm I plan to use?
DiffuseReflection: The algorithm would be quite interesting if you are willing to show it. :) I often wonder how raffles are conducted to balance everyone's interests.
I have experimented in my mind with several alternatives and have finally settled on the following algorithm, as I believe it will maximise the number of winners, will give priorities relative but not absolute importance, and will not unduly favour or disfavour people who have longer or shorter lists than others.
while there are still any participants left
--- choose a random participant from those left
------ identify the chosen participant's most wanted game that is still available
--------- if there is at least one other participant who wants the same game...
--------- and...
--------- has been granted so far
less games than the chosen participant
------------- do nothing
--------- else
------------- grant the chosen participant the game
------------- mark the game as no longer available
------------- remove participants whose lists now have only unavailable games