2

私はjavascriptでゲームを作成します。このゲームでは、ユーザーに特定の文字を選択して有効な英語の単語を作成するオプションを提供します。ここで問題となるのは、ユーザーが入力したものが有効な英語の単語であることをjavascriptで確認する方法です。そうではなく、私がユーザーに次の文字を与えると仮定します

  1. O
  2. D
  3. O
  4. G

今、おそらく彼はこれらの文字GodGoodまたはから3つの単語を作ることができDogます。

前もって感謝します

編集

この人はどうですか

Typo.JS

これはそうするための良い方法ですか?

4

5 に答える 5

5

彼はおそらく書くこともできDOましGOた. 許可された単語の辞書を使用し、それに対する回答を確認する必要があります。

var allowedWords = ['god','good','dog','do','go'];
var enteredWord = 'GOD';

if(allowedWords.indexOf(enteredWord.toLowerCase()) >= 0) {
   // match
}
于 2013-01-04T11:45:03.167 に答える
2

ここに英単語 MySql データベースがあります。 http://androidtech.com/html/wordnet-mysql-20.php

次に、サーバー側の機能を実装する必要があります。単語が存在しない場合は true または false を返します。Jquery を使用して Ajax でサービスを呼び出し、ゲーム内の単語をチェックできます。

于 2013-01-04T11:47:34.407 に答える
1

複数の質問がある場合は、次のように回答を検証することもできます。

var gameDict = [
    { 'letters':['o','d','o','g'],  'words':['god','good','dog','do','go', 'goo']},
    { 'letters':['a','e','p'],      'words':['ape']},
    { 'letters':['p','n','e','t'],  'words':['pen', 'ten', 'net']}
]

// Returns `true` if the answer is valid, `false` if it's not.
function validateAnswer(questionNumber, answer){
    return gameDict[questionNumber].words.indexOf(answer.toLowerCase()) >= 0;
}

console.log(validateAnswer(0,'Good'));
// true
console.log(validateAnswer(1,'ap'));
// false

ただし、単語が実際に英語の単語であるかどうかを確認するだけでなく、キャラクターがその単語を作成できるかどうかも確認する必要があるため、ゲームの辞書を手動で作成する必要があります。

于 2013-01-04T11:54:16.700 に答える
1

これをチェックしてください:http://ejohn.org/blog/dictionary-lookups-in-javascript/

クライアント側のソリューションを探します。

于 2013-01-04T11:45:00.777 に答える
0

Thorが提案したように、辞書(有効な「英語の単語」と見なす単語である文字列の配列)が必要です。

しかし、英語の単語「English Dictionary」に対して入力を本当に確認したい場合は、単語の配列が非常に大きくなり、Javascriptに沿って読み込まれるため、Javascriptはファイルとして大きくなりすぎてダウンロードできなくなります。ウェブページ。

その場合、単語を保存するためのデータベース(たとえば、MySQL)と、ajax呼び出しで単語を渡すサーバー(たとえば、PHP)で実行されるスクリプトが必要になります。スクリプトはDBにクエリを実行して単語が存在するかどうかを確認し、その結果をajax応答としてjavascriptに返します(1=英語の単語0=辞書にない単語)

于 2013-01-04T11:57:35.583 に答える