シード付きコイントス
シード付きコイントスシミュレーターは、公平な硬貨を繰り返し投げたような系列を、完全に再現できる形で生成します。回数と任意の文字列シードをご指定いただくと、表または裏の各結果と、両面の合計を返します。同じ回数とシードでは常に同じ応答になるため、ゲーム、実演、自動テスト、授業、デバッグに便利です。時刻、ブラウザーの乱数、ネットワークサービス、隠れた状態には依存しません。そのため、結果を共有し、後から同じ条件で確認できます。
無料で実行
再現可能な系列を作成します
通常のコイントスは再現が困難ですが、ルールの検証や例の共有では再現性が役立ちます。flip_count には1から10,000までの整数を、seed には文字列をご指定ください。シミュレーターはシードを安定した初期状態へ変換し、投げるたびに状態を1回進めます。応答には集計だけでなく、結果の順序全体が保持されます。同じ2つの入力を使えば、同じ一覧と集計が得られます。シードを1文字変えるだけで別の系列になり、大文字と小文字も区別されます。空の文字列も利用できますが、説明的なシードのほうが識別や共有に適しています。シードは実験の簡潔なレシピとなり、長い結果一覧をコピーせずに同じ試行を再構成できます。
結果と集計を確認します
出力にはシード、結果の配列、集計オブジェクトが含まれます。配列は左から順に、1回目、2回目、以降の投擲としてお読みください。各要素は表または裏と明示され、未公開の数値コードは使いません。集計には表、裏、総数が示されます。総数は受理された回数と必ず一致し、表と裏の合計も総数と一致します。この関係は、保存した応答の整合性確認に利用できます。公平な試行でも、短い系列が同数になる保証はありません。4回中3回が表でも正常です。順序が重要な場合は配列を、割合、得点、試行間の比較だけが必要な場合は集計をご利用ください。
用途に適した乱数を選びます
このシミュレーターは秘密性ではなく再現性を目的としています。ゲームの試作、決定論的なリプレイ、文書の例、確率の授業、スナップショットテスト、表裏で処理が変わるコードのデバッグに適しています。後から実行を再構成できるよう、2つの入力を記録してください。賭博、暗号鍵、セキュリティトークン、抽選、次の結果を予測不能にすべき用途には使用できません。シードは公開入力であり、アルゴリズムは安定して検査可能ですが、暗号学的に安全ではありません。10,000回の上限により応答を扱いやすくしています。より大きな実験は異なるシードの複数バッチに分けてください。理論上の確率には確率計算機をご利用ください。この機能は具体的な1試行を生成し、その結果を報告します。
活用例
ゲームロジックをテストします
安定した表裏系列をテストへ渡し、不具合を正確に再現できるようにします。
授業の実験を共有します
シードと回数を提示し、全員が同じ試行を確認してから別の条件と比較できます。
決定論的なリプレイを作ります
短い入力を保存し、デバッグや再生時に硬貨で決まる各判断を再構成します。
よくある質問
1回のシミュレーション料金はいくらですか?
APIリクエスト1回につき $0.002 です。ブラウザー版では同じ純粋なアルゴリズムをローカルで実行します。
同じシードでは常に同じ結果になりますか?
はい。シードと回数が同じであれば、結果の順序と集計も変わりません。
空のシードを使用できますか?
はい。空文字列も有効で再現可能ですが、説明的なシードのほうが共有しやすくなります。
表と裏の数が完全に同じでないのはなぜですか?
公平な硬貨でも有限回の試行で同数になる保証はありません。短く偏った系列も正常です。
セキュリティや賭博に使用できますか?
いいえ。決定論的で非暗号学的な生成器です。安全性、金銭、賞品には監査済みの安全な乱数をご利用ください。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/game/coin-flip-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"flip_count":12,"seed":"demo-2026"}'const res = await fetch("https://api.kit.forhosting.com/game/coin-flip-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"flip_count": 12,
"seed": "demo-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/coin-flip-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"flip_count": 12,
"seed": "demo-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/coin-flip-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"flip_count":12,"seed":"demo-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"flip_count":12,"seed":"demo-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/coin-flip-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"flip_count": 12,
"seed": "demo-2026"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.coin_flip_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
max_items | 10000 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |