Skip to content

Instantly share code, notes, and snippets.

@bramdemoor
Created November 7, 2014 14:23
Show Gist options
  • Save bramdemoor/4822112f4d549d4b3f3b to your computer and use it in GitHub Desktop.
Save bramdemoor/4822112f4d549d4b3f3b to your computer and use it in GitHub Desktop.
ChristmasPresents 1, with weird bug
personGroups = [
['Bram'],
['Jef'],
['Leen', 'Dries'],
['Marijke', 'Stijn'],
]
kaartjestrekkers = personGroups.flatten.shuffle
raise ArgumentError, 'Oneven aantal personen' unless kaartjestrekkers.length.even?
kaartjes = personGroups.flatten.shuffle
resultatenLijstje = Hash.new
kaartjestrekkers.each do |p|
kaartje = kaartjes.delete(kaartjes.sample)
puts "#{p} moet een cadeautje kopen voor #{kaartje}"
hasConflicts = personGroups.any? {|g| g.include? p and g.include? kaartje}
if hasConflicts
puts 'Er is een conflict! Kaartje terug en opnieuw trekken...'
kaartjes << kaartje
redo
end
resultatenLijstje[p] = kaartje
end
puts "\r\nResultaten:\r#{resultatenLijstje}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment