囲碁の面積計算
この囲碁面積計算ツールは、黒白それぞれの地と盤上に残った生き石を合計し、白にコミを加えて、勝者と点差を表示します。生き石と囲まれた空点をともに数える面積法向けです。終局に合意して死に石を取り除いた後、4 つの数値と採用したコミを入力してください。両者の合計に加え、B+3.5 や W+6.5 のような一般的な結果表記も確認できます。
無料で実行
面積法で終局図を数えます
面積法では、終局時に各対局者が支配している盤面を数えます。黒については、盤上に残る黒石と、黒だけに囲まれた空点を数えてください。白も同じ方法で数えます。集計前に双方が終局を確認し、死んでいる一団を判定して、その石を盤上から取り除く必要があります。アゲハマは別に加えません。面積法では、盤上の生き石そのものが得点に含まれるためです。ダメなどの中立点はどちらにも属さず、黒白いずれの地にも入力しません。共有されている場所や判定が済んでいない場所も、近くに一方の石があるという理由だけで地にしないでください。生き石と囲まれた空点を別々に入力すると、合計の内訳を確認できます。計算自体は単純ですが、終局図の判定が正確でなければ結果も正しくなりません。石の生死について意見が異なる場合は、採用中のルールに従って解決してから、計算結果を確定してください。
コミを加えて結果を読み取ります
黒の面積得点は、黒地と黒石の合計です。白は白地と白石を先に合計し、その小計に入力したコミを加えます。コミは、黒が先に打つことへの補償として白に与えられます。通常の引き分けを避けるため半目を含む値がよく使われますが、大会、対局サーバー、または対局者間の取り決めで指定された値を入力してください。このツールは既定値を決めません。接戦では、誤ったコミによって勝敗が逆転する可能性があるためです。調整後の合計が大きい側が勝者となり、その差が勝ち点です。B+2.5 は黒の 2.5 目勝ち、W+7.5 は白の 7.5 目勝ちを表します。両者が完全に等しければ引き分けと表示します。それを持碁として扱うか、打ち直すか、別の方法で決着させるかは大会規定によります。
計算対象と対象外を確認します
このツールは面積法の対局だけにお使いください。囲碁のルールには、囲まれた空点と取った石を数え、盤上の生き石を直接加えない地方式もあります。地方式の集計値を面積法の式に入れると、偶然に勝者が同じ場合でも得点は誤ることがあります。本ツールは盤面画像を解析せず、石の生死を判定せず、置き碁の特別な調整やパス石の規定を適用せず、紛争も解決しません。合意済みの数を受け取り、再現可能な算術処理だけを行います。各カウントは 625 までなので 25 路盤まで扱え、コミは 0 から 100 の有限な数でなければなりません。通常の 19 路盤では、石、確定した地、中立点を合わせて 361 の交点を説明できるか確認すると役立ちます。内訳を保存すれば、指導、碁会所の記録、大会確認、ソフトウェア試験で、別の人も各小計を再現できます。
活用例
碁会所の対局を確認
合意した地と生き石の数を入力し、結果を記録する前に勝者を確認できます。
面積法を指導
石、囲まれた点、コミが最終得点にどう加わるかを初心者へ説明できます。
囲碁ソフトを試験
盤面エンジンやネットワークなしで、終局局面の再現可能な期待値を作れます。
よくある質問
料金はいくらですか?
このページのブラウザー内では無料で実行できます。API の各リクエストは $0.002 です。
面積法ではアゲハマを数えますか?
いいえ。盤上に残った石と囲まれた空点を入力し、アゲハマは別に加えません。
コミは黒と白のどちらに加えますか?
黒が先に打つ補償として、コミは白の得点に加えます。
引き分けになることはありますか?
はい。調整後の得点が等しければ引き分けです。半目を含むコミなら通常は避けられます。
日本式の地方式にも使えますか?
いいえ。本ツールは面積法専用です。地方式はアゲハマを含め、生き石を直接加えません。
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/hobby/game-go-area-score \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"black_territory":45,"black_stones":120,"white_territory":42,"white_stones":116,"komi":6.5}'const res = await fetch("https://api.kit.forhosting.com/hobby/game-go-area-score", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"black_territory": 45,
"black_stones": 120,
"white_territory": 42,
"white_stones": 116,
"komi": 6.5
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/hobby/game-go-area-score",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"black_territory": 45,
"black_stones": 120,
"white_territory": 42,
"white_stones": 116,
"komi": 6.5
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/hobby/game-go-area-score", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"black_territory":45,"black_stones":120,"white_territory":42,"white_stones":116,"komi":6.5}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"black_territory":45,"black_stones":120,"white_territory":42,"white_stones":116,"komi":6.5}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/hobby/game-go-area-score", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"black_territory": 45,
"black_stones": 120,
"white_territory": 42,
"white_stones": 116,
"komi": 6.5
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "hobby.game_go_area_score",
"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 | リクエストが多すぎます。しばらく待ってから再度お試しください。 |