diff --git a/team-kuji.rb b/team-kuji.rb new file mode 100755 index 0000000..dc9ab27 --- /dev/null +++ b/team-kuji.rb @@ -0,0 +1,51 @@ +#!/usr/bin/env ruby +# -*- coding: utf-8 -*- + +def change_item(teams) + while true + print "\n現在抽選する予定の中身は" + teams.each{|t| + printf("、%s",t) } + print "です。\n" + print "この内容で抽選してよろしいですか?\n" + print "よろしくない場合は、追加または除外するものを入力してください[y or item] :" + ans = gets.chomp + return teams if ans == "y" + tyoufuku = teams.intersection([ans]) + teams = teams - tyoufuku + if tyoufuku == [] + teams << ans + end + end +end + +while true + print "抽選結果を振り分ける人の人数を入れてください:" + member_length = gets.to_i + if member_length >= 2 + break + else + puts"2以上の整数で入れてください。" + end +end + +teams = %w[ + 松 梅 桜 藤 菖蒲 牡丹 萩 芒 菊 紅葉 + ] +teams = change_item(teams).shuffle #圧倒的そうじゃない感 + +result = Array.new(member_length){|v|["member#{v+1}",[]]} +#image: [member1,[item1,item2,...], +# member2,[item... ], +# ... +# ] + +#シャッフル後の 番号をかいたカードを振り分けるイメージ +teams.length.times do |t| + result[t % member_length][1] << teams.pop +end + +puts "\n抽選結果:" +result.to_h.each do|member,item| + printf(" %s => %s\n", member, item) +end