本文へ移動

Kotoba言葉

必要な単語一覧だけを読み込み、重複する文字を正しく判定し、日替わりやシード付きの単語ゲームを遊べます。

「Kotoba」は「言葉」です。 名前について(英語)

目次

やり方

かなの入力と判定

未完のローマ字と、大小・濁点・同じ行を区別します。

ローマ字を少しずつ読む

import {readRomaji,finishRomaji,kanaBase,markKanaGuess,kanaFound} from "@johnmorrisdotca/kotoba";
console.log(readRomaji("kan"),finishRomaji("kan"),kanaBase("ぱ"));
console.log(markKanaGuess(["ぱ","な"],["は","な"]));
console.log(kanaFound(["ぱ","な"],["は","な"]));
{ kana: [ 'か' ], rest: 'n' } [ 'か', 'ん' ] は
[
  { mark: 'hit', wrongSize: false, wrongMark: true },
  { mark: 'hit', wrongSize: false, wrongMark: false }
]
false

readRomajiは完成したかなと未完の文字を返し、restを次の入力まで保持します。送信時はfinishRomajiで確定します。標準の状態では削除は未完のローマ字を先に消し、その後かなを消します。大小と濁点の操作は最後のかなに作用し、アルファベットでは変わりません。

完成の条件

かなの判定は位置一致、別位置、同じ五十音の行、なしを区別します。同じ基底かなでも大小や濁点が違えば矢印が付き、完全一致まで正解ではありません。長音符は行や大小・濁点を持ちません。重複かなも残りの個数で判定します。kanaScoreは同じ行の点を加えます。markKanaGuessとゲームの規則を参照してください。

ソースを見るGitHub で編集@johnmorrisdotca/kotoba 1.2.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。