LLetterRook
AIコーディングワークスペース

重複文字を考慮したヒント

ASCII小文字5個の推測を、位置一致は2、別の位置は1、不在は0として評価します。

● ● ●LetterRook●
ワークフロー · 重複文字を考慮したヒント ×
from collections import Counter

def letter_feedback(answer, guess):
    if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
        raise ValueError("word.lowercase")
    marks, remaining = [0] * 5, Counter()
    for i, (a, g) in enumerate(zip(answer, guess)):
        if a == g:
            marks[i] = 2
        else:
            remaining[a] += 1
    for i, g in enumerate(guess):
        if marks[i] != 2 and remaining[g]:
            marks[i] = 1
            remaining[g] -= 1
    return marks
✳ASCII小文字5個の推測を、位置一致は2、別の位置は1、不在は0として評価します。
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
  1. モデル

    OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。

  2. プロジェクト

    完全一致を先に確保してから重複文字を試し、大文字、非ASCII、長さ違いを拒否します。

  3. 適用前に確認

    実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。

ワークフロー

重複文字を考慮したヒント

ワークフロー ↗
ワークフロー
from collections import Counter

def letter_feedback(answer, guess):
    if any(type(s) is not str or len(s) != 5 or any(not "a" <= c <= "z" for c in s) for s in (answer, guess)):
        raise ValueError("word.lowercase")
    marks, remaining = [0] * 5, Counter()
    for i, (a, g) in enumerate(zip(answer, guess)):
        if a == g:
            marks[i] = 2
        else:
            remaining[a] += 1
    for i, g in enumerate(guess):
        if marks[i] != 2 and remaining[g]:
            marks[i] = 1
            remaining[g] -= 1
    return marks
AIコーディングワークスペース

ゲームの規則をテスト可能なコード変更にする

LetterRookは、非形式的なゲームの規則を正確なソフトウェア動作にするWindows向けコーディングワークスペースです。プロジェクトを開き、期待する判定付きの1ターンの例を接続先モデルに提示します。特に問題が記号の重複に依存する場合、変更を提案する前に現在の採点コードと呼び出し側を調べるよう依頼してください。

5文字の判定は有用な課題例です。推測語には正解語より同じ文字が多く含まれる場合があるため、パッチを求める前に完全一致が残りの判定にどう影響するか説明します。アシスタントの文章だけでなく、具体的な単語の組と照らして提案結果をレビューしてください。実装とアプリケーション上の説明は、規則に基づいて決めるべきです。

編集を確認した後、完全一致、重複文字、拒否する単語形式を網羅するテストデータを実行します。返された判定をインターフェースが採点の契約どおりに解釈するか確認してください。LetterRookは対応するOpenAI互換またはAnthropicのエンドポイントに接続し、必要なら認証情報を使用します。接続先が提供していればフィルターなしモデルを選べますが、コンテキストとツール対応は引き続きサーバーによって決まります。具体的なターンと期待する結果を対話に残すと、ゲームが動くようになったという大まかな主張に頼らず、各変更案を評価しやすくなります。

単語の例から信頼できる判定へ

重複文字の有用なバグ報告には何が必要ですか?

正解語、推測語、実際の判定、各位置の期待する判定を示してください。完全一致が利用可能な文字の一部を消費する例も含めます。アシスタントが採点実装をたどるための正確な不一致を提示できます。

位置違いの判定より先に完全一致を調べるのはなぜですか?

例の規則では、残りの出現回数を割り当てる前に完全一致分を確保します。一致する文字を個別に数えるパッチは、重複した推測文字を過大評価する場合があります。ソース内の処理順を確認し、この誤りが現れる例を残してください。

採点関数は大文字の単語を受け付けるべきですか?

既存例はASCIIの小文字5文字を受け付けます。アプリケーションに正規化が必要なら、どこで行うか定め、その境界を別にテストしてください。採点の修正で受け付ける入力形式を黙って変えないようにします。

採点のテストデータに加えて画面側では何をテストすべきですか?

返された各マークが、意図した表示判定と位置に対応することを確認します。内部の数値が正しくても表示が誤る場合があります。関連ソースの変更をレビューした後、規則に焦点を当てたテストとともに確認してください。

Windows版をダウンロード ↗

LetterRook · 更新日 2026-10-25