SpinPick
日本語

シークレットサンタ抽選(プレゼント交換の相手決め)

名前を入れて抽選すると、一人ひとりに個別リンクができます。リンクを開くと自分の相手だけが表示され、結果はサーバーに保存されません。

同じ名前の人がいる場合は、区別できるように書いてください。

お互いを引かないペア(任意)

カップルや家族など、お互いを引くとつまらない2人を選んでください。どちらも相手を引きません。

    まだペアは追加されていません。

    シークレットサンタの抽選方法

    1. 参加者の名前を1行に1人ずつ入れます。3人から100人まで使えます。
    2. カップルや家族など、お互いを引かないほうがいい人は「お互いを引かないペア」に追加します。
    3. 必要ならプレゼントの予算、交換する日、メッセージを入れて「抽選する」を押します。
    4. 一人ひとりに本人の個別リンクを送ります。リンクを開いてプレゼントの箱を開けると、贈る相手と予算、日付が表示されます。

    主催者にも結果を知られずに進める

    結果の一覧には名前とリンクのボタンだけが表示され、誰が誰を引いたかは出ません。リンクを開かずにコピーまたは送信だけすれば、主催者も相手を知らないまま参加者として楽しめます。コピーまたは送信した名前には「送信済み」と表示されるので、送り忘れを防げます。参加しない主催者なら「全体の結果を見る」で組み合わせを確認できます。

    リンクのしくみ

    抽選結果はサーバーではなく、各リンクの#より後ろの部分に入っています。ブラウザはURLの#以降をサイトに送らないため、SpinPickのサーバーには名前も結果も残りません。1つのリンクにはその人の組み合わせしか入っていないので、受け取った人がほかの人の相手を知ることはできません。

    ただし、リンクの中身は一目では読めないように混ぜてあるだけで、暗号化ではありません。すべてのリンクを持つ主催者や、リンクを受け取った人がその気になれば解読できます。サーバーを使わない方式の限界なので、各自が自分のリンクだけを開く約束で楽しんでください。

    抽選の方法

    全員が自分以外の1人を引き、全員がちょうど1回ずつ引かれるように組み合わせます(数学では完全順列や攪乱順列と呼ばれます)。ブラウザのcrypto.getRandomValuesで順番を混ぜ、自分自身を引かない、除外ペア、お互いに引き合わない(任意)という条件をすべて満たすまで混ぜ直すので、条件を満たす組み合わせはどれも同じ確率で選ばれます。除外ペアが多く2万回混ぜても見つからない場合は探索で組み合わせを見つけ、条件上不可能な場合はその理由をお知らせします。

    プレゼント交換をもっと楽しく

    • 予算を決めておくと、値段の差で気まずくなりにくくなります。
    • グループチャットに一人ひとつずつ欲しいもののヒントを出しておくと選びやすくなります。
    • この遊びは英語圏ではSecret Santa、スペイン語圏ではamigo invisible、韓国ではマニト(마니또)と呼ばれます。

    よくある質問

    リンクをなくしました。もう一度見られますか?
    同じ端末・同じブラウザでこのページを開き直すと、前回の抽選のリンク一覧が残っています。この端末にだけ保存され、「結果を削除」でいつでも消せます。
    もう一度抽選すると、前のリンクはどうなりますか?
    結果はサーバーではなくリンクの中にあるため、前のリンクも開けるままです。抽選し直したら全員に新しいリンクを送り、古いリンクは無視するよう伝えてください。
    カップル同士が引き合わないようにできますか?
    はい。2人を「お互いを引かないペア」に追加すれば、どちらも相手を引きません。除外が多すぎて抽選できない場合は、抽選の前にお知らせします。
    3人でもできますか?
    できます。ただし3人だと組み合わせはA→B→C→Aとその逆の2通りしかないので、自分の相手がわかると残りも推測できます。4人以上のほうが楽しめます。