ダーツの3ダーツ平均計算ツール
3ダーツ平均は、投げた本数が異なる選手同士でも得点ペースを比較できる標準的な指標です。認定された合計得点と正確な投数を入力すると、3投換算の得点と1投あたりの得点が表示されます。試合全体、レッグ、練習セッションなど、同じ方法で記録した任意のデータにご利用いただけます。
無料で実行
3ダーツ平均で分かること
合計得点だけでは効率は分かりません。同じ得点でも、選手によって必要とした投数が異なるためです。3ダーツ平均は、どの記録も3投という共通の尺度に換算し、同じペースを維持した場合に3投で何点取れるかを示します。そのため、短い練習、長い試合、別の選手の記録を比較できます。ただし、得点ペースを示す指標であり、獲得点数、レッグ数、フィニッシュ判断の質を表すものではありません。正の投数であれば3の倍数でなくても計算できます。比較する際は、同じ集計規則をお使いください。一方が全投を含み、他方がミスやフィニッシュの試投を除く場合、計算自体が正しくても異なるデータを比べることになります。完全な1ラウンドで区切ることより、記録元と数え方を統一することが重要です。
計算方法
計算は2段階です。まず合計得点を投数で割って1投あたりの得点を求め、次にその値を3倍します。たとえば、15投で501点なら1投あたり33.4点、3ダーツ平均は100.2です。計算中は精度を保ち、表示時に小数第2位まで丸めます。全投が無得点の場合もあるため合計0点は有効ですが、0で割ることはできないので投数は1以上が必要です。得点と投数はいずれも整数で入力してください。また、通常のダーツ1投の最高点はトリプル20の60点なので、1投あたり60点を超える合計は受け付けません。開始時の点数や残りのチェックアウトではなく、実際に認定された得点をご入力ください。複数レッグをまとめる場合は、同じレッグに対応する得点と投数をそれぞれ合計してから計算します。
結果を適切に活用する方法
3ダーツ平均は要約指標として使い、記録量も併せてご判断ください。5ラウンド程度の練習では、非常に良いラウンドや悪いラウンドが1回あるだけで大きく変動しますが、多数のレッグを含む平均は一般に安定します。上達を追跡する際は、日付、形式、対戦相手または練習内容、合計得点、投数を記録すると、同条件で比較できます。1投あたりの得点も数学的には同じ情報です。ただし、得点平均だけで試合内容のすべては表せません。チェックアウト成功率、セットアップ、ダブル精度、プレッシャー、レッグ結果によって、同じ平均でも内容は異なります。スコア管理方式によってバストや集計対象の投げ方が異なる場合もあります。方式を混在させず、同じ規則を継続してお使いください。本ツールは将来の成績予測や公式結果の認証を行わず、入力値を明確に換算します。自動記録では、APIでも同じ決定論的計算を1回$0.002でご利用いただけます。
活用例
試合を振り返る
試合の得点と投数を、別の試合とも比較できる共通の平均に換算します。
練習の進歩を追う
同じ練習後に毎回計算し、同条件のセッション間で変化を確認します。
スコア表示を確認する
元の得点と投数から公表された平均を再計算し、表示値を確認します。
よくある質問
どの計算式を使いますか?
合計得点を投数で割り、その結果を3倍します。
投数は3の倍数である必要がありますか?
いいえ。未完了の最終ラウンドを含め、正の整数なら計算できます。
結果はどのように丸められますか?
1投あたりの得点と3ダーツ平均を小数第2位まで表示します。
合計得点が0でもよいですか?
はい。記録した全投が無得点なら、両方の平均は0になります。
バストは処理できますか?
入力された認定得点と投数を使います。同じ集計規則を一貫してお使いください。
APIでの計算料金はいくらですか?
APIは1回$0.002です。ブラウザーでは無料で計算できます。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/sport-darts-three-dart-average \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"total_points":501,"darts_thrown":15}'const res = await fetch("https://api.kit.forhosting.com/hobby/sport-darts-three-dart-average", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"total_points": 501,
"darts_thrown": 15
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/sport-darts-three-dart-average",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"total_points": 501,
"darts_thrown": 15
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/sport-darts-three-dart-average", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"total_points":501,"darts_thrown":15}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"total_points":501,"darts_thrown":15}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/sport-darts-three-dart-average", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"total_points": 501,
"darts_thrown": 15
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.sport_darts_three_dart_average",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |