ForHosting KIT · 暮らし・料理・趣味

ワードラダーの一文字違いをチェック

「cold」から「cord」へは3文字目だけが変わるので有効な一手です。違いの数とその位置をすべて示すため、無効な一手の理由もすぐに説明できます。ブラウザで無料で使えます。

  • 無料
  • ブラウザで動作
  • 登録不要
  • データは端末の外に出ません
ご利用方法 ウェブAPIメールTelegramアプリ 近日
入力した場合
単語A
cold
単語B
cord
結果
差
1
異なる位置
3

ワードラダーは、各手で文字をちょうど1つ置き換えながら、ある単語を別の単語へ変えていく遊びです。このチェッカーは、提案された1回の移動を判定します。同じ長さの2語を入力すると、異なる位置がちょうど1か所かどうかを返します。相違点の個数と、1から数えたすべての位置も返すため、無効と判定された理由を容易に説明できます。比較結果は常に一定で、大文字と小文字を区別します。長さが異なる場合は通常の無効判定ではなく入力エラーになります。

比較したい形のまま2つの単語を入力します

どちらも空でない文字列で、文字数が同じである必要があります。チェッカーは入力をそのまま扱い、空白の除去、小文字への変換、句読点の削除、Unicode正規化、辞書検索を行いません。この厳密な動作は、ゲームやアプリケーション側ですでに使用可能な語彙を管理している場合に便利です。

たとえば<code>cold</code>と<code>cord</code>は同じ長さで、3番目だけが異なるため有効です。<code>Cold</code>と<code>cold</code>も、大文字と小文字を区別するため1か所の相違として扱われます。区別しないルールの場合は、呼び出す前に両方を同じ方法で正規化してください。

同じ長さであることは判定結果ではなく構造上の条件です。長さが異なると位置を対応させられないため、入力エラーになります。文字の挿入や削除は編集距離の問題であり、この検査の対象ではありません。

ワードラダー全体の処理に組み込みます

この機能は一手の形だけを確認し、入力が実在する単語かどうかは意図的に判定しません。完全なゲームでは通常、2つの独立した検査を行います。まず候補が対象の辞書、言語、またはパズル用語彙に含まれることを確認し、次にこの機能で変化がちょうど1か所か調べます。

責務を分けることで、固有名詞、地域表記、アクセント付き文字、語形変化、専門用語について暗黙の前提を設けずに済みます。対話型ゲームでは手の送信後に呼び出し、返された位置を使って変更文字を強調できます。問題作成ツールでは、解答列の隣接する各組を検査して切れた箇所を特定できます。

自動テストでは判定と位置の両方を確認すると、失敗理由が明確になります。純粋な実装であり、ネットワーク、乱数、時計、保存領域、外部モデルを使用しません。

プレイヤーの手を検証

次の候補語がちょうど1文字だけを変えていることを確認してから、現在のラダーへ追加します。

パズルの解答を監査

用意した単語列の隣接する組をすべて調べ、無効なつながりの正確な位置を特定します。

単語ゲームをテスト

一定の相違数と位置を、手の検証、強調表示、エラーメッセージ処理のテスト値として使います。

両方が実在する単語か確認しますか?

いいえ。 1か所の置換規則だけを確認します。ゲームに適した語彙への登録は別に検証してください。

単語の長さが異なる場合はどうなりますか?

無効な入力としてエラーになります。通常の一手は1文字を置換し、文字の挿入や削除は行いません。

大文字と小文字は同じものとして扱われますか?

いいえ、区別されます。 ルール上区別しない場合は、事前に入力を同じ形式へ正規化してください。

同じ単語同士は有効な一手ですか?

いいえ。 同じ単語の相違点は0ですが、有効な一手には異なる位置がちょうど1つ必要です。

異なる位置はどのように数えますか?

1から数えます。 1が最初の文字、2が2番目の文字となり、以後も同様です。

このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。

POSThttps://api.kit.forhosting.com/game/word-ladder-step-check

Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。

curl -X POST https://api.kit.forhosting.com/game/word-ladder-step-check \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"word_a":"cold","word_b":"cord"}'
{
  "word_a": "cold",
  "word_b": "cord"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "game.word_ladder_step_check",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。

1リクエストあたり$0.002

単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。

HTTPコード意味
401unauthorizedAPIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。
402insufficient_balance残高が不足しています。チャージ後に再度お試しください。
404unknown_type指定されたタスクタイプは存在しません。タイプ名を確認してください。
429rate_limitedリクエストが多すぎます。しばらく待ってから再度お試しください。

比較したい形のまま2つの単語を入力します

開始語を<code>word_a</code>に、次の候補を<code>word_b</code>に入力してください。

判定結果と診断用フィールドを読み取ります

<code>valid</code>がtrueになるのは、相違点がちょうど1つの場合だけです。同一の単語は相違点が0で、通常の結果として<code>valid</code>がfalseになります。一手では実際に1文字を変える必要があるためです。2か所以上を置き換えた場合もfalseとなり、該当するすべての位置が示されます。応答には<code>valid</code>、<code>differences</code>、<code>differing_positions</code>が含まれます。<code>differences</code>は文字が異なる位置の総数を示し、<code>differing_positions</code>はその位置を1から数えて列挙します。したがって位置1は最初の文字です。不正な値、フィールド不足、空文字列、長さの不一致だけが入力エラーになります。この区別により、形式は正しいものの規則違反の手と、評価できない要求を分けられます。アルゴリズムは左から右へ1回だけ走査するため順序は安定しており、同じ入力を繰り返すと常に同じJSON値が返ります。

ワードラダー全体の処理に組み込みます

そのためブラウザー内ではローカルに実行でき、自動システムは1回$0.002のAPIでも同じ決定的な結果を取得できます。

APIの料金はいくらですか?

APIは1回$0.002です。対話型のブラウザー版は端末内で無料実行されます。

KITの完全なドキュメントを見る →