私はこのゲームをAS3で作成しました。このゲームは、英語の単語とフランス語の4つの可能な翻訳を表示します。XMLファイルからすべての単語をロードし、問題なく動作します(両方の言語で約1000語のプール)。
私がやりたかったのは、間違いを引き起こした単語を追跡して、生徒が正しくなるまでそれらを再提示できるようにすると同時に、すでに成功して使用されている単語に「マーク」を付けて、間違いを犯すようにすることです。二度と現れない。
私はこれについて長くて難しいことを考え、グーグルで検索しましたが、興味深いものは何もありませんでした。これが私が思いついたアイデアです。コメントして、正しい方向に向けてください。
私の語彙XMLファイルは次のようになります
<VOCAB>
<ENGLISH> The dog </ENGLISH>
<FRENCH> Le chien </FRENCH>
<VOCAB_ID> 0458 </VOCAB_ID>
<VOCAB_CATEGORY> 12 </VOCAB_CATEGORY>
</VOCAB>
IDEA1:すべてを追跡する追加のXMLタグを既存のファイルに含めます。利点:2つのXMLオブジェクトをロードして、それらを同時に処理する手間が省けます。ファイルサイズが小さいドローバック:スコアが語彙ファイルに関連付けられるため、ゲームを使用できるのは1人のプレーヤーのみです(ただし、追加のプレーヤー用に重複した語彙ファイルを作成できます)
<VOCAB>
<ENGLISH> The dog </ENGLISH>
<FRENCH> Le chien </FRENCH>
<VOCAB_ID> 0458 </VOCAB_ID>
<VOCAB_CATEGORY> 12 </VOCAB_CATEGORY>
<SCORE> -2 </SCORE> // Negative number indicates fails, zero = never used, pos number = success
</VOCAB>
IDEA2:スコアを維持するためだけに新しいXMLファイルを作成する利点:それぞれが独自のスコアファイルを持つ無限の数のプレーヤーを持つことができます。語彙を維持し、2つの別々のものを獲得します。ドローバック:ゲームによって選択された新しい語彙ごとにXMLファイル全体が解析されないように、巧妙なプログラミングを行う必要があります。これにより、処理速度が低下します。
<TRACKING>
<VOCAB_CATEGORY> 12 </VOCAB_CATEGORY>
<VOCAB_ID> 0458 </VOCAB_ID>
<SCORE>-2</SCORE> // Negative number indicates fails, zero = never used, pos number = success
</TRACKING>
どう思いますか?