"タッチパネルと、文字毎の最大ストローク数を記憶した記憶手段とを有するコンピュータ装置のプロセサに、正解が予め判明している問題を出力する問題出力ステップ、前記問題出力ステップによって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付ステップ、前記受付ステップによる受け付けの度に認識処理を行う認識ステップ、前記認識ステップによって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別ステップ、前記正解判別ステップの判別結果が否定的であるとき前記受付ステップによって受け付けられた手書き文字入力操作のストローク数が前記正解文字の最大ストローク数を上回るか否かを判別するストローク数判別ステップ、および前記ストローク数判別ステップの判別結果が肯定的であるとき不正解を通知する不正解通知ステップを実行させるための、手書き学習支援プログラム。前記正解文字は第1正解文字および当該第1正解文字に後続する第2正解文字を含み、前記正解判別ステップは、前記認識ステップによって行われた認識処理の結果が前記第1正解文字と一致するか否かを判別する第1正解判別ステップ、および前記第1正解判別ステップの判別結果が肯定的となった後に前記認識ステップによって行われた認識処理の結果が前記第2正解文字と一致するか否かを判別する第2正解判別ステップを含み、前記第1正解判別ステップは、前記第2正解判別ステップの判別結果が否定的であり、かつ前記受付ステップによって受け付けられた手書き文字入力操作のストローク数が前記第1正解文字の最大ストローク数以下であるとき、すでに前記第1正解文字と一致すると判別されたストロークの全てと当該第2正解判別ステップによって判別されたストロークとを含めたストロークを前記認識ステップによって認識させ、当該認識処理の結果が前記第1正解文字と一致するか否かを判別する第3正解判別ステップを含む、請求項1記載の手書き学習支援プログラム。前記第2正解判別ステップは、前記第3正解判別ステップの判別が行われたとき、前記第1正解判別ステップで前記第1正解文字と一致すると判別されたストロークの少なくとも一部と当該第1正解判別ステップで前記第1正解文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを前記認識ステップによって認識させ、当該認識処理の結果が前記第2正解文字と一致するか否かを判別することを特徴とする、請求項2記載の手書き学習支援プログラム。前記ストローク数判別ステップは、前記第2正解判別ステップの判別結果が否定的であるとき前記受付ステップによって受け付けられた手書き文字入力操作のストローク数が前記第1特定文字および前記第2特定文字の合計最大ストローク数を上回るか否かを判別する合計ストローク数判別ステップを含み、前記不正解通知ステップは前記合計ストローク数判別ステップの判別結果が肯定的であるとき通知処理を実行する、請求項2または3記載の手書き学習支援プログラム。前記第1正解判別ステップの判別結果が肯定的であり、かつ前記第2正解判別ステップの判別結果が肯定的であった後に、次の手書き文字入力操作が行われた場合、前記第1正解判別ステップは、前記第2正解文字を第1正解文字として、前記認識ステップによって行われた認識処理の結果を判別し、前記第2正解判別ステップは、新たな正解文字を第2正解文字として、前記認識ステップによって行われた認識処理の結果を判別する、請求項2ないし4のいずれかに記載の手書き学習支援プログラム。前記プロセサに、前記受付ステップによって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別ステップをさらに実行させ、前記不正解通知ステップは、前記経過時間判別ステップの判別結果が肯定的であるときさらに通知処理を実行する、請求項1ないし5のいずれかに記載の手書き学習支援プログラム。タッチパネルを有するコンピュータ装置のプロセサに、手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付ステップ、前記受付ステップによる受け付けの度に認識処理を行う認識ステップ、および前記認識ステップによって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別ステップを実行させ、前記特定文字は第1特定文字および当該第1特定文字に後続する第2特定文字を含み、前記一致判別ステップは、前記認識ステップによって行われた認識処理の結果が前記第1特定文字と一致するか否かを判別する第1一致判別ステップ、および前記第1一致判別ステップの判別結果が肯定的となった後に前記認識ステップによって行われた認識処理の結果が前記第2特定文字と一致するか否かを判別する第2一致判別ステップを含み、前記第1一致判別ステップは、前記第2一致判別ステップの判別結果が否定的であり、かつ前記受付ステップによって受け付けられた手書き文字入力操作のストローク数が前記第1特定文字の最大ストローク数以下であるとき、すでに前記第1特定文字と一致すると判別されたストロークの全てと当該第2一致判別ステップによって判別されたストロークとを含めたストロークを前記認識ステップによって認識させ、当該認識処理の結果が前記第1特定文字と一致するか否かを判別する第3一致判別ステップを含む、手書き文字認識プログラム。前記第2一致判別ステップは、前記第3一致判別ステップの判別が行われたとき、前記第1一致判別ステップで前記第1特定文字と一致すると判別されたストロークの少なくとも一部と当該第1一致判別ステップで前記第1特定文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを前記認識ステップによって認識させ、当該認識処理の結果が前記第2特定文字と一致するか否かを判別することを特徴とする、請求項7記載の手書き文字認識プログラム。前記コンピュータ装置は文字毎の最大ストローク数を記憶した記憶手段をさらに有し、前記プロセサに、正解が予め判明している問題を出力する問題出力ステップ、前記問題出力ステップによって出力される問題に関連して実行される前記第2一致判別ステップの判別結果が否定的であるとき、前記受付ステップによって受け付けられた手書き文字入力操作のストローク数が前記第1特定文字および前記第2特定文字の合計最大ストローク数を上回るか否かを判別するストローク数判別ステップ、および前記ストローク数判別ステップの判別結果が肯定的であるとき不一致を通知する不一致通知ステップをさらに実行させる、請求項8記載の手書き文字認識プログラム。前記プロセサに、前記受付ステップによって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別ステップをさらに実行させ、前記不一致通知ステップは、前記経過時間判別ステップの判別結果が肯定的であるときさらに通知処理を実行する、請求項7ないし9のいずれかに記載の手書き文字認識プログラム。タッチパネル、文字毎の最大ストローク数を記憶した記憶手段、正解が予め判明している問題を出力する問題出力手段、前記問題出力手段によって出力された問題に関連する手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付手段、前記受付手段による受け付けの度に認識処理を行う認識手段、前記認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段、前記正解判別手段の判別結果が否定的であるとき前記受付手段によって受け付けられた手書き文字入力操作のストローク数が前記正解文字の最大ストローク数を上回るか否かを判別するストローク数判別手段、および前記ストローク数判別手段の判別結果が肯定的であるとき不正解を通知する不正解通知手段を備える、手書き学習支援装置。タッチパネル、手書き文字入力操作を前記タッチパネルを通してストローク単位で受け付ける受付手段、前記受付手段による受け付けの度に認識処理を行う認識手段、および前記認識手段によって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別手段を備え、前記特定文字は第1特定文字および当該第1特定文字に後続する第2特定文字を含み、前記一致判別手段は、前記認識手段によって行われた認識処理の結果が前記第1特定文字と一致するか否かを判別する第1一致判別手段、および前記第1一致判別手段の判別結果が肯定的となった後に前記認識手段によって行われた認識処理の結果が前記第2特定文字と一致するか否かを判別する第2一致判別手段を含み、前記第1一致判別手段は、前記第2一致判別手段の判別結果が否定的であり、かつ前記受付手段によって受け付けられた手書き文字入力操作のストローク数が前記第1特定文字の最大ストローク数以下であるとき、すでに前記第1特定文字と一致すると判別されたストロークの全てと当該第2一致判別手段によって判別されたストロークとを含めたストロークを前記認識手段によって認識させ、当該認識処理の結果が前記第1特定文字と一致するか否かを判別する第3一致判別手段を含む、手書き文字認識装置。しかし、特許文献1の従来技術は、入力が不正解である場合に、一定時間が経過するまで不正解を知ることができない。このため、待ち時間が長く、効果的な学習が行えなかった。一方、特許文献2の従来技術は、2桁以下の数字を主な認識対象としており、特に英大文字,英小文字等も含む任意の文字列について、高い認識精度が得られるとは限らない。それゆえに、この発明の第1の目的は、早いタイミングで不正解を知ることができる、手書き学習支援プログラムを提供することである。この発明の第2の目的は、文字認識の精度を高めることができる、手書き文字認識プログラムを提供することである。請求項1の発明に従う手書き学習支援プログラムは、タッチパネル20:実施例で相当する参照符号。以下同じと、文字毎の最大ストローク数を記憶した記憶手段104aとを有するコンピュータ装置10のプロセサ42に、正解が予め判明している問題を出力する問題出力ステップS1、問題出力ステップによって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付ステップS7,S31、受付ステップによる受け付けの度に認識処理を行う認識ステップS15,S47,S57、認識ステップによって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別ステップS17,S49,S59、正解判別ステップの判別結果が否定的であるとき受付ステップによって受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かを判別するストローク数判別ステップS19,S53,S55、およびストローク数判別ステップの判別結果が肯定的であるとき不正解を通知する不正解通知ステップS21,S37を実行させる。請求項1の発明では、問題は、問題出力ステップによって出力される。出力された問題に関連する手書き文字入力操作は、受付ステップによって、タッチパネルを通してストローク単位で受け付けられる。認識ステップは、受付ステップによる受け付けの度に認識処理を行う。認識ステップによって行われた認識処理の結果が正解文字と一致するか否かは、正解判別ステップによって判別される。ストローク数判別ステップは、正解判別ステップの判別結果が否定的であるとき受付ステップによって受け付けられた手書き文字入力操作のストローク数が、正解文字の最大ストローク数を上回るか否かを判別する。不正解通知ステップは、ストローク数判別ステップの判別結果が肯定的であるとき、不正解を通知する。請求項1の発明によれば、手書き文字入力操作をストローク単位で受け付け、受け付けの度に認識処理を行い、認識処理の結果が正解文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かを判別して、かかる判別結果が肯定的であるとき不正解を通知するので、早いタイミングで不正解を通知できる。請求項2の発明に従う手書き学習支援プログラムは、請求項1に従属し、正解文字は第1正解文字および当該第1正解文字に後続する第2正解文字を含む。正解判別ステップは、認識ステップによって行われた認識処理の結果が第1正解文字と一致するか否かを判別する第1正解判別ステップS17、および第1正解判別ステップの判別結果が肯定的となった後に認識ステップによって行われた認識処理の結果が第2正解文字と一致するか否かを判別する第2正解判別ステップS49を含む。第1正解判別ステップは、第2正解判別ステップの判別結果が否定的であり、かつ受付ステップによって受け付けられた手書き文字入力操作のストローク数が第1正解文字の最大ストローク数以下であるとき、すでに第1正解文字と一致すると判別されたストロークの全てと当該第2正解判別ステップによって判別されたストロークとを含めたストロークを認識ステップによって認識させ、当該認識処理の結果が第1正解文字と一致するか否かを判別する第3正解判別ステップS59を含む。請求項2の発明に従えば、正解文字に第1正解文字および当該第1正解文字に後続する第2正解文字が含まれる場合の判別処理では、まず認識処理の結果が第1正解文字と一致するか否かを判別し、続いてこの第1判別処理の結果が肯定的となった後に行われた認識処理の結果が第2正解文字と一致するか否かを判別する。そして、この第2判別処理の結果が否定的であり、かつ受け付けられた手書き文字入力操作のストローク数が第1正解文字の最大ストローク数以下であれば、第1判別処理ですでに第1正解文字と一致すると判別されたストロークの全てと、第2判別処理の対象となったストロークとを含めたストロークを認識し、この認識処理の結果が第1正解文字と一致するか否かをさらに判別する第3判別処理。このように、第1および第2判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第1正解文字の最大ストローク数以下であれば第3判別処理をさらに実行するので、第2判別処理の対象となったストロークが第1正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が高まり、ひいては不正解の通知タイミングが早まる。請求項3の発明に従う手書き学習支援プログラムは、請求項2に従属し、第2正解判別ステップは、第3正解判別ステップの判別が行われたとき、第1正解判別ステップで第1正解文字と一致すると判別されたストロークの少なくとも一部と当該第1正解判別ステップで第1正解文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを認識ステップによって認識させ、当該認識処理の結果が第2正解文字と一致するか否かを判別することを特徴とする。請求項3の発明では、第3判別処理が実行されたとき、第1正解文字と一致すると判別されたストロークの少なくとも一部と、第1正解文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識ステップによって認識させ、当該認識処理の結果が第2正解文字と一致するか否かをさらに判別する第4判別処理。このように、第3判別処理と共に第4判別処理をさらに行うので、第1正解文字の一部とされたストロークが第2正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が一層高まり、ひいては不正解の通知タイミングがさらに早まる。請求項4の発明に従う手書き学習支援プログラムは、請求項2または3に従属し、ストローク数判別ステップは、第2正解判別ステップの判別結果が否定的であるとき受付ステップによって受け付けられた手書き文字入力操作のストローク数が第1特定文字および第2特定文字の合計最大ストローク数を上回るか否かを判別する合計ストローク数判別ステップS53を含み、不正解通知ステップは合計ストローク数判別ステップの判別結果が肯定的であるとき通知処理を実行する。請求項4の発明では、認識処理の結果が第2特定文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が第1特定文字および第2特定文字の合計最大ストローク数を上回るか否かを判別して、かかる判別結果が肯定的であるとき不一致を通知するので、より早いタイミングで不一致を通知できる。請求項5の発明に従う手書き学習支援プログラムは、請求項2ないし4のいずれかに従属し、第1正解判別ステップの判別結果が肯定的であり、かつ第2正解判別ステップの判別結果が肯定的であった後に、次の手書き文字入力操作が行われた場合、第1正解判別ステップは、第2正解文字を第1正解文字として、認識ステップによって行われた認識処理の結果を判別し、第2正解判別ステップは、新たな正解文字を第2正解文字として、認識ステップによって行われた認識処理の結果を判別する。請求項5の発明によれば、任意の文字列を2文字単位で1文字ずつシフトしつつ認識することができる。請求項6の発明に従う手書き学習支援プログラムは、請求項1ないし5のいずれかに従属し、プロセサに、受付ステップによって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別ステップS9,S33をさらに実行させる。不正解通知ステップは、経過時間判別ステップの判別結果が肯定的であるときさらに通知処理を実行する。請求項6の発明では、受付ステップによって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かは、経過時間判別ステップによって判別される。通知処理は、経過時間判別ステップの判別結果が肯定的であるときにも実行される。請求項6の発明によれば、不慣れな学習者は、一文字ずつ正誤を確認しながら入力できる。請求項7の発明に従う手書き文字認識プログラムは、タッチパネル20を有するコンピュータ装置10のプロセサ42に、手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付ステップS7,S31、受付ステップによる受け付けの度に認識処理を行う認識ステップS15,S47,S57、および認識ステップによって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別ステップS17,S49,S59を実行させる。特定文字は、第1特定文字および当該第1特定文字に後続する第2特定文字を含む。一致判別ステップは、認識ステップによって行われた認識処理の結果が第1特定文字と一致するか否かを判別する第1一致判別ステップS17、および第1一致判別ステップの判別結果が肯定的となった後に認識ステップによって行われた認識処理の結果が第2特定文字と一致するか否かを判別する第2一致判別ステップS49を含む。第1一致判別ステップは、第2一致判別ステップの判別結果が否定的であるとき認識ステップによって行われた全ての認識処理の結果が第1特定文字と一致するか否かを判別する第3一致判別ステップS59を含む。請求項7の発明では、手書き文字入力操作は、受付ステップによって、タッチパネルを通してストローク単位で受け付けられる。認識ステップは、受付ステップによる受け付けの度に認識処理を行う。認識ステップによって行われた認識処理の結果が特定文字と一致するか否かは、一致判別ステップによって判別される。特定文字には、第1特定文字および当該第1特定文字に後続する第2特定文字が含まれる。一致判別ステップの判別処理では、認識ステップによって行われた認識処理の結果が第1特定文字と一致するか否かが第1一致判別ステップによって判別され、第1一致判別ステップの判別結果が肯定的となった後に認識ステップによって行われた認識処理の結果が第2特定文字と一致するか否かは、第2一致判別ステップによって判別される。この第2一致判別ステップの判別結果が否定的であり、かつ受け付けられた手書き文字入力操作のストローク数が第1特定文字の最大ストローク数以下であれば、第1判別処理ですでに第1特定文字と一致すると判別されたストロークの全てと、第2判別処理の対象となったストロークとを含めたストロークを認識し、この認識処理の結果が第1特定文字と一致するか否かをさらに判別する第3判別処理。このように、第1および第2判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第1特定文字の最大ストローク数以下であれば第3判別処理をさらに実行するので、第2判別処理の対象となったストロークが第1正解文字の一部であればそれがわかる。この結果、手書き入力文字が特定文字と一致するか否かの判別精度が高まる。請求項8の発明に従う手書き文字認識プログラムは、請求項7に従属し、第2一致判別ステップは、第3一致判別ステップの判別が行われたとき、第1一致判別ステップで第1特定文字と一致すると判別されたストロークの少なくとも一部と当該第1一致判別ステップで第1特定文字と一致すると判別されたストロークの後に入力されたストロークとを含めたストロークを認識ステップによって認識させ、当該認識処理の結果が第2特定文字と一致するか否かを判別することを特徴とする。請求項8の発明では、第3判別処理が実行されたとき、第1特定文字と一致すると判別されたストロークの少なくとも一部と、第1特定文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識ステップによって認識させ、当該認識処理の結果が第2特定文字と一致するか否かをさらに判別する第4判別処理。このように、第3判別処理と共に第4判別処理をさらに行うので、第1特定文字の一部とされたストロークが第2特定文字の一部であればそれがわかり、この結果、手書き入力文字が特定文字と一致するか否かの判別精度が一層高まる。請求項9の発明に従う手書き文字認識プログラムは、請求項8に従属し、コンピュータ装置は文字毎の最大ストローク数を記憶した記憶手段104aをさらに有する。このプログラムは、プロセサに、正解が予め判明している問題を出力する問題出力ステップS1、問題出力ステップによって出力される問題に関連して実行される第2一致判別ステップの判別結果が否定的であるとき、受付ステップによって受け付けられた手書き文字入力操作のストローク数が第1特定文字および第2特定文字の合計最大ストローク数を上回るか否かを判別するストローク数判別ステップS53、およびストローク数判別ステップの判別結果が肯定的であるとき不一致を通知する不一致通知ステップS37をさらに実行させる。請求項9の発明では、問題は、問題出力ステップによって出力される。こうして出力される問題に関連して実行される第2一致判別ステップの判別結果が否定的であるとき、受付ステップによって受け付けられた手書き文字入力操作のストローク数が第1特定文字および第2特定文字の合計最大ストローク数を上回るか否かが、ストローク数判別ステップによって判別される。不一致通知ステップは、ストローク数判別ステップの判別結果が肯定的であるとき不一致を通知する。請求項9の発明によれば、認識処理の結果が第2特定文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が第1特定文字および第2特定文字の合計最大ストローク数を上回るか否かを判別して、かかる判別結果が肯定的であるとき不一致を通知するので、より早いタイミングで不一致を通知できる。請求項10の発明に従う手書き文字認識プログラムは、請求項7ないし9のいずれかに従属し、プロセサに、受付ステップによって最後に受付処理が実行されてからの経過時間が所定時間を超えたか否かを判別する経過時間判別ステップS9,S33をさらに実行させる。不一致通知ステップは、経過時間判別ステップの判別結果が肯定的であるときさらに通知処理を実行する。請求項10の発明によれば、請求項6の発明と同様、不慣れな学習者は、一文字ずつ正誤を確認しながら入力できる。請求項11の発明に従う手書き学習支援装置は、タッチパネル20、文字毎の最大ストローク数を記憶した記憶手段104a、正解が予め判明している問題を出力する問題出力手段22a,22b,S1、問題出力手段によって出力された問題に関連する手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段S7,S31、受付手段による受け付けの度に認識処理を行う認識手段S15,S47,S57、認識手段によって行われた認識処理の結果が正解文字と一致するか否かを判別する正解判別手段S17,S49,S59、正解判別手段の判別結果が否定的であるとき受付手段によって受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かを判別するストローク数判別手段S19,S53,S55、およびストローク数判別手段の判別結果が肯定的であるとき不正解を通知する不正解通知手段12,S21,S37を備える。請求項11の発明でも、請求項1の発明と同様に、早いタイミングで不一致を通知できる。請求項12の発明に従う手書き文字認識装置は、タッチパネル20、手書き文字入力操作をタッチパネルを通してストローク単位で受け付ける受付手段S7,S31、受付手段による受け付けの度に認識処理を行う認識手段S15,S47,S57、および認識手段によって行われた認識処理の結果が特定文字と一致するか否かを判別する一致判別手段S17,S49,S59を備える。特定文字は、第1特定文字および当該第1特定文字に後続する第2特定文字を含む。一致判別手段は、認識手段によって行われた認識処理の結果が第1特定文字と一致するか否かを判別する第1一致判別手段S17、および第1一致判別手段の判別結果が肯定的となった後に認識手段によって行われた認識処理の結果が第2特定文字と一致するか否かを判別する第2一致判別手段S49を含む。第1一致判別手段は、第2一致判別手段の判別結果が否定的であり、かつ受付手段によって受け付けられた手書き文字入力操作のストローク数が第1特定文字の最大ストローク数以下であるとき、すでに第1特定文字と一致すると判別されたストロークの全てと当該第2一致判別手段によって判別されたストロークとを含めたストロークを認識手段によって認識させ、当該認識処理の結果が第1特定文字と一致するか否かを判別する第3一致判別手段S59を含む。請求項12の発明でも、請求項7の発明と同様に、手書き入力文字が特定文字と一致するか否かの判別精度が高まる。この発明によれば、文字認識の精度が高まり、また、より早いタイミングで不正解を通知できる。この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。図1を参照して、この発明の一実施例であるゲーム装置10は、第1の液晶表示器LCD12および第2のLCD14を含む。このLCD12およびLCD14は、所定の配置位置となるようにハウジング16に収納される。この実施例では、ハウジング16は、上側ハウジング16aと下側ハウジング16bとによって構成され、LCD12は上側ハウジング16aに収納され、LCD14は下側ハウジング16bに収納される。したがって、LCD12とLCD14とは縦上下に並ぶように近接して配置される。なお、この実施例では、表示器としてLCDを用いるようにしてあるが、LCDに代えて、ELElectronicLuminescenceディスプレイなどを用いるようにしてもよい。図1からも分かるように、上側ハウジング16aは、LCD12の平面形状よりも大きな平面形状を有し、一方主面からLCD12の表示面を露出するように開口部が形成される。一方、下側ハウジング16bは、その平面形状が上側ハウジング16aと同程度に形成され、横方向の略中央部にLCD14の表示面を露出するように開口部が形成される。また、上側ハウジング16aには、LCD12を挟むように、右側に音抜き孔22aが、左側に音抜き孔22bが、左右対称に形成される。またハウジング16には操作スイッチ1818a,18b,18c,18d,18e,18f,18h,18g,18Lおよび18Rが配置される。また、上側ハウジング16aと下側ハウジング16bとは、上側ハウジング16aの下辺下端と下側ハウジング16bの上辺上端の一部とが回動可能に連結されている。したがって、たとえば、ゲームをプレイしない場合には、LCD12の表示面とLCD14の表示面とが対面するように、上側ハウジング16aを回動させて折りたたんでおけば、LCD12の表示面およびLCD14の表示面に傷がつくなどの破損を防止することができる。ただし、上側ハウジング16aと下側ハウジング16bとは、回動可能に連結せずに、それらを一体的固定的に設けたハウジング16を形成するようにしてもよい。操作スイッチ18は、方向指示スイッチ十字スイッチ18a,スタートスイッチ18b,セレクトスイッチ18c,動作スイッチAボタン18d,動作スイッチBボタン18e,動作スイッチXボタン18f,動作スイッチYボタン18g,電源スイッチ18h,動作スイッチLボタン18Lおよび動作スイッチRボタン18Rを含む。スイッチ18aおよび18hは、下側ハウジング16bの一方主面において、LCD14の左側に配置される。また、スイッチ18bないし18gは、下側ハウジング16bの一方主面において、LCD14の右側に配置される。さらに、スイッチ18Lおよびスイッチ18Rは、それぞれ、下側ハウジング16bの上端天面の一部において、上側ハウジング16aとの連結部以外に当該連結部を挟むように、左右に配置される。方向指示スイッチ18aは、ディジタルジョイスティックとして機能し、4つの押圧部の1つを操作することによって、プレイヤによって操作可能なプレイヤキャラクタまたはプレイヤオブジェクトの移動方向を指示したり、カーソルの移動方向を指示したりする等に用いられる。スタートスイッチ18bは、プッシュボタンで構成され、ゲームを開始再開したり、一時停止Pauseしたりする等に用いられる。セレクトスイッチ18cは、プッシュボタンで構成され、ゲームモードの選択等に用いられる。動作スイッチ18dすなわちAボタンは、プッシュボタンで構成され、方向指示以外の動作、すなわち、プレイヤキャラクタに打つパンチ、投げる、つかむ取得、乗る、ジャンプするなどの任意のアクションをさせることができる。たとえば、アクションゲームにおいては、ジャンプ、パンチ、武器を動かす等を指示することができる。また、ロールプレイングゲームRPGやシミュレーションRPGにおいては、アイテムの取得、武器またはコマンドの選択および決定等を指示することができる。動作スイッチ18eすなわちBボタンは、プッシュボタンで構成され、セレクトスイッチ18cで選択したゲームモードの変更やAボタン18dで決定したアクションの取り消し等のために用いられる。動作スイッチ18eすなわちXボタン、および動作スイッチ18fすなわちYボタンは、プッシュボタンで構成され、プッシュボタンAとプッシュボタンBだけでは、ゲーム進行ができないときに、補助的な操作ボタンとして用いられる。もちろん、ゲームプレイにおいてXボタンとYボタンを必ずしも使用しなくてよい。電源スイッチ18hは、ゲーム装置10の電源をオンオフするためのスイッチである。動作スイッチ18L左押しボタンおよび動作スイッチ18R右押しボタンは、プッシュボタンで構成され、左押しボタンLボタン18Lおよび右押しボタンRボタン18Rは、Aボタン18dおよびBボタン18eと同様の操作に用いることができ、また、Aボタン18dおよびBボタン18eの補助的な操作に用いることができる。また、このゲーム装置10はタッチパネルを用いたゲーム装置であり、LCD14の上面には、タッチパネル20が装着される。タッチパネル20としては、たとえば、抵抗膜方式、光学式赤外線方式および静電容量結合式のいずれかの種類のものを用いることができる。また、タッチパネル20は、その上面をスティック24ないしはペンスタイラスペン或いは指以下、これらをスティック24等という場合がある。で、押圧したり撫でたり触れたりすることにより操作すると、スティック24等の座標位置を検出して座標データを出力する。なお、この実施例では、LCD14LCD12も同じ、または略同じ。の表示面の解像度は228dot×192dotであり、タッチパネル20の検出精度も表示画面に対応して228dot×192dotとしてあるが、タッチパネル20の検出精度は表示画面の解像度よりも低くてもよく、高くてもよい。この実施例では、たとえばタッチパネル20の設けられるLCD14には、プレイヤに見せかつ操作させるためのゲーム画面が表示され、LCD12にはプレイヤに見せるためのゲーム画面が表示される。具体的には、LCD12には横線と縦線で形成されたアミダくじのような軌道上をオブジェクトが移動してくる画像が表示される。LCD14に表示されるゲーム画面には、未完成のアミダくじのように、縦線のみが表示されており、プレイヤはLCD14に表示された縦線に対して、スティック24等で直接触れるようにしてタッチパネル20上に横線を描くような操作をする。こうして、LCD12に表示される軌道の続きをLCD14に描いて、移動してくるオブジェクトを所定位置に導くための軌道を作るのである。なお、LCD14は、ゲームの種類に応じてその他各種の入力指示を行うようにしてもよく、たとえばLCD14の表示画面に文字情報やアイコン等を表示してコマンドを選択させたりすることができる。このように、ゲーム装置10は、2画面分の表示部となるLCD12およびLCD14を有し、いずれか一方この実施例では、LCD14の表示画面上にタッチパネル20が設けられるので、2画面LCD12,14と2系統の操作部18,20を有する構成となるのである。また、この実施例では、スティック24は、たとえば上側ハウジング16aの中央より側面寄右寄に設けられる収納部収納穴図示せずに収納することができ、必要に応じて取り出される。ただし、スティック24を設けない場合には、収納部を設ける必要もない。さらに、ゲーム装置10はメモリカードまたはゲームカートリッジ26を含み、このメモリカード26は着脱自在であり、下側ハウジング16bの裏面ないしは上端側面に設けられる挿入口図示せずから挿入される。図1では省略するが、挿入口の奥部には、メモリカード26の挿入方向先端部に設けられるコネクタ図示せずと接合するためのコネクタ46図2参照が設けられており、したがって、メモリカード26が挿入口に挿入されると、コネクタ同士が接合され、ゲーム装置10のCPUコア42図2参照がメモリカード26にアクセス可能となる。なお、図1では表現できないが、下側ハウジング16bの内部において、この下側ハウジング16bの音抜き孔22aと対応する位置には、右スピーカ30aおよび音抜き孔22bと対応する位置には、左スピーカ30b図2参照が設けられる。また、図1では省略するが、たとえば、下側ハウジング16bの裏面側には、電池収容ボックスが設けられ、また、下側ハウジング16bの底面側には、音量調節つまみ、外部拡張コネクタおよびイヤフォンジャックなどが設けられる。図2は、ゲーム装置10の電気的な構成を示すブロック図である。図2を参照して、ゲーム装置10は電子回路基板40を含み、この電子回路基板40にはCPUコア42等の回路コンポーネントが実装される。CPUコア42は、バス44を介して、コネクタ46,RAM48,第1のGPUGraphicProcessingUnit52,第2のGPU54,I/F回路50,LCDコントローラ60およびワイヤレス通信ユニット64と接続される。コネクタ46には、上述したように、メモリカード26が着脱自在に接続される。メモリカード26は、ROM26aおよびRAM26bを含む。図示は省略するが、ROM26aおよびRAM26bは、バスで互いに接続され、かつコネクタ46と接合されるコネクタ図示せずに接続される。この結果、CPUコア42は、ROM26aおよびRAM26bにアクセスすることができる。ROM26aは、ゲーム装置10で実行すべきゲームのためのゲームプログラム、キャラクタ画像,背景画像,アイテム画像,メッセージ画像のような画像データ、効果音,BGM,キャラクタの擬制音のような音データなどを予め記憶する。バックアップRAM26bは、ゲームの途中データや結果データをセーブする。RAM48は、バッファメモリないしはワーキングメモリとして使用される。つまり、CPUコア42は、メモリカード26のROM26aに記憶されたゲームプログラム、および画像データ,音データ等のデータをRAM48にロードし、ロードしたゲームプログラムを実行する。また、CPUコア42は、ゲーム処理の進行に応じて、ゲームデータやフラグデータなどの一時的なデータをRAM48に記憶する。なお、ゲームプログラム、および画像データ,音データ等のデータは、一括して、または必要に応じて部分的かつ順次的にROM26aから読み出され、RAM48に記憶される。GPU52および54の各々は、描画手段の一部を形成し、たとえばシングルチップASICで構成される。GPU52または54は、CPUコア42からグラフィックスコマンド作画命令を受けたとき、このグラフィックスコマンドにしたがってゲーム画像データを生成する。ここで、CPUコア42は、グラフィックスコマンドに加えて、ゲーム画像データの生成に必要な画像生成プログラムゲームプログラムに含まれる。をGPU52および54の各々に与える。ただし、グラフィックスコマンドの実行に必要なデータポリゴン,テクスチャなどの画像データは、RAM48に格納され、GPU52または54によって取得される。また、GPU52にはVRAM56が接続され、GPU54にはVRAM58が接続される。GPU52は、作成したゲーム画像データをVRAM56に描画し、GPU54は、作成したゲーム画像データをVRAM58に描画する。VRAM56および58は、LCDコントローラ60に接続される。LCDコントローラ60はレジスタ62を含む。レジスタ62はたとえば1ビットで構成され、CPUコア42の指示によって0または1のデータ値を記憶する。LCDコントローラ60は、レジスタ62のデータ値が0であるとき、VRAM56に描画されたゲーム画像データをLCD14に出力し、VRAM58に描画されたゲーム画像データをLCD12に出力する。また、LCDコントローラ60は、レジスタ62のデータ値が1であるとき、VRAM56に描画されたゲーム画像データをLCD12に出力し、VRAM58に描画されたゲーム画像データをLCD14に出力する。I/F回路50には、操作スイッチ18,タッチパネル20,右スピーカ30aおよび左スピーカ30bが接続される。ここで、操作スイッチ18は、上述したスイッチ18a,18b,18c,18d,18e,18f,18g,18h,18Lおよび18Rである。操作スイッチ18が操作されると、対応する操作信号操作データがI/F回路50を介してCPUコア42に入力される。タッチパネル20で検出された座標データも、I/F回路50を介してCPUコア42に入力される。また、CPUコア42は、BGM,効果音,キャラクタの擬制音などのゲームに必要な音データをRAM48から読み出し、I/F回路50を介して右スピーカ30aおよび左スピーカ30bから出力する。対戦モードが選択された状態では、相手方のゲーム装置との間で無線信号がワイヤレス通信ユニット64を通してやり取りされる。すなわち、ワイヤレス通信ユニット64は、相手方への通信データを無線信号に変調してアンテナ図示せずから送信し、また、相手方のゲーム装置からの無線信号を同じアンテナで受信して通信データに復調する。図3にはRAM48のメモリマップの一例が示される。RAM48は、メモリカード26のROM26aからロードされたプログラムを記憶するプログラム記憶領域70を含む。ロードされるプログラムは、問題出力プログラム72,タッチオンオフ検出プログラム74,タッチ軌跡一時記憶プログラム76,認識データ生成プログラム78,文字認識プログラム80,回答判定プログラム82,回答表示プログラム84,正解文字列制御プログラム86,タッチ軌跡ストローク制御プログラム88などを含む。なお、プログラム記憶領域70には、図示は省略しているが、ゲーム画像やゲーム音声を生成/出力するためのプログラムなど、その他のゲーム進行に必要な各種プログラムが記憶される。問題出力プログラム72は、スピーカ22aおよび22bから問題を出力するためのプログラムである。なお、問題はLCD12に表示してもよい。タッチオンオフ検出プログラム74は、タッチパネル20に対するタッチオンおよびタッチオフを検出し、検出結果に応じてタッチオンフラグをオン/オフするためのプログラムである。タッチ軌跡一時記憶プログラム76は、タッチオンからタッチオフまでのタッチ軌跡手書き入力データを一時記憶するためのプログラムである。認識データ生成プログラム78は、文字認識処理の対象となるデータ認識データを生成するためのプログラムである。このプログラムは、複数ストロークが入力されたとき、複数種類の認識データを準備する。文字認識プログラム80は、認識データ生成プログラム78によって生成された認識データに基づいて文字認識処理を実行するためのプログラムである。このプログラムは、認識データ生成プログラム78によって複数種類の認識データが準備された場合、生成された複数種類の認識データの各々に対して文字認識を行う。こうして得られる複数種類の認識結果のうち認識得点の最も高いものを採用することで、より的確な認識結果を得ることができる。回答判定プログラム82は、文字認識処理の結果つまり回答が正解か否かを判定するためのプログラムである。回答表示プログラム84は、LCD14に回答入力タッチ軌跡を表示するためのプログラムである。正解文字列制御プログラム86は、問題に対応する正解文字列を読み込んだり、読み込まれた正解文字列の中から認識対象文字を選択したりするためのプログラムである。タッチ軌跡制御プログラム88は、一時記憶されたタッチ軌跡ストロークの中から1つまたは複数の表示対象ストロークを選択して回答表示プログラム84に渡したり、一時記憶されたストロークの中から1つまたは複数の認識対象ストロークを選択して認識データ生成プログラム78に渡したりするためのプログラムである。また、RAM48は、データ記憶領域90を含む。データ記憶領域90は、タッチオンフラグ記憶領域92,タッチ軌跡一時記憶領域94a,マッチストローク数記憶領域94b,認識データ一時記憶領域96,認識結果一時記憶領域98,正解文字列記憶領域100,認識対象文字記憶領域102,最大ストローク数データ記憶領域104a,問題データ記憶領域104b,文字データ記憶領域104c,および認識辞書データ記憶領域106を有する。タッチオンフラグ記憶領域92は、タッチオンフラグを記憶するための領域である。タッチオンフラグは、タッチパネル20へのタッチオンが検出されたときタッチオンオフ検出プログラム74によってオンされ、同じくタッチオフが検出されるとオフされる。タッチ軌跡一時記憶領域94aは、タッチパネル20によって検出されたタッチ軌跡を一時記憶するための領域である。タッチ軌跡一時記憶領域94には、1ストローク目のタッチ軌跡,2ストローク目のタッチ軌跡,...が記憶される。マッチストローク数記憶領域94bは、文字1C1にマッチするストローク数を保持するための領域である。認識データ一時記憶領域96は、認識データ生成プログラム78によって生成された認識データを一時記憶するための領域である。認識結果一時記憶領域98は、認識データに基づく文字認識処理の結果を一時記憶するための領域である。正解文字列記録領域100は、問題に対応する正解文字列を記憶するための領域である。認識対象文字記憶領域102は、正解文字列記録領域100に記憶されている正解文字列のうち現在認識の対象となっている文字を記憶するための領域である。認識は2文字を単位として行われるため、認識対象文字記憶領域102には2つの文字文字1よび文字2が記憶される。最大ストローク数データ記憶領域104aには、ゲーム装置10で認識可能な全ての文字ここでは英大文字A~Z,英小文字a~z,および数字0~9の各々について、手書き時の最大ストローク数が記憶される。例えば、文字Aは、通常2ストロークまたは3ストロークで描かれるので、その最大ストローク数は3である。同様に、数字1は、通常1ストロークで描かれるため、最大ストローク数は1となる。問題データ記憶領域104bには、問題データが記憶される。文字データ記憶領域104cには、英大文字A~Z,英小文字a~z,および数字0~9の文字データが記憶される。認識辞書データ記憶領域106は、文字認識処理で参照される認識辞書データを記憶するための領域である。この認識辞書データは、英大文字A~Z,英小文字a~z,および数字0~9の各々の特徴データを含む。以上のように構成されたゲーム装置10では、書き取りゲームは、次のように進行する。図4を参照して、操作スイッチを介してゲーム開始操作が行われると、最初の問題Thisisapen.に対応する音声がスピーカ22a,22bから出力される。かかる第1問の回答つまりTHIS...が下側のLCD14上のタッチパネル20にスティック24で描かれると、その軌跡が検出され、検出されたタッチ軌跡つまり手書きデータがタッチ軌跡一時記憶領域に記憶される。検出されたタッチ軌跡は、LCD14に表示される。また、検出されたタッチ軌跡に対して文字認識処理が実行され、検出タッチ軌跡が正解文字として認識されると、その正解文字がLCD12に表示される。従って、手書き入力の進行に従い、LCD12には正解文字列THIS...が1文字ずつ追加表示されていく。一方、LCD14上のタッチ軌跡は、正解文字として認識され、そして正解文字がLCD12に表示されると消去される。文字認識処理は、図5に示すように、先頭の一文字を除き、連続する2文字を単位として行われる。THIS...の認識では、まず先頭文字Tが認識対象文字記憶領域102の所定領域レジスタC1にセットされる。そして、タッチ軌跡一時記憶領域94に記憶されたタッチ軌跡がレジスタC1の文字と一致するか否かが判定される。かかる第1回目の認識処理の後、次の認識対象文字HがレジスタC2にセットされる。そして、タッチ軌跡一時記憶領域94に記憶されたタッチ軌跡がレジスタC2の文字と一致するか否かが判定される。かかる第2回目の認識処理で文字Hが認識されると、認識対象は後方に一文字シフトする、すなわちC1およびC2にはHおよびIがそれぞれセットされる。そして、タッチ軌跡データ記憶領域に記憶されたタッチ軌跡データがレジスタC2の文字Iと一致するか否かが判別される。以降、末尾文字Nが認識されるまで同様の認識処理が繰り返される。従って、10文字で構成される文字列THISISAPENについては、計10回の認識処理が実行される。以下、認識処理の具体例を説明する。最初、文字列THISに対応する認識処理を図6A,図6B,図7Aおよび図7Bにより説明する。なお、誤入力ないしタイムアウトは発生しないものとする。図6Aを参照して、第1回目の認識処理は、先頭文字つまりTが対象となる。TはレジスタC1に保持される。Tの最大ストローク数は2である。最初のタッチ軌跡が検出される、つまり第1ストロークS0が入力されると、第1ストロークに対してC1文字Tと一致するか否かの認識処理が実行され、ここでは不一致×と判定される。第2ストロークS1が入力されると、第1ストロークおよび第2ストロークに対してC1文字Tと一致するか否かの認識処理が実行され、一致○と判定される。これにより、LCD12にTが表示される。なお、このときTと一致すると判別されたストロークの数=2がマッチストローク数記憶領域94b内のレジスタM0に保持される。マッチストローク数は、継続認識後述に関連して利用される。図6Bを参照して、第2回目の認識処理は、先頭の2文字が対象となる。従って、レジスタC1およびC2にはTおよびHがそれぞれセットされる。文字TおよびHの最大ストローク数は2および3である。これを以下、認識対象文字T,H,最大ストローク数2,3のように記述する。文字T,Hの合計最大ストローク数は5となる。第3ストロークS2が入力されると、この第3ストロークに対してC2文字Hと一致するか否かの認識処理が実行され、不一致と判定される。この時点で、第1~第3ストロークは、タッチオフ軌跡記憶領域94a内の領域S0~S2図3参照に一時保持されている。一時保持ストローク数=3は、文字TおよびHの合計最大ストローク数=5を超えていないが、文字Tの最大ストローク数=2を超えたので、第1および第2ストロークは文字Tと一致するとみなされる。このため、継続認識後述は行われない。第4ストロークS3が入力されると、第3ストロークおよび第4ストロークに対して同様の認識処理が実行され、ここでも不一致と判定される。第5ストロークS4が入力されると、第3ストローク,第4ストロークおよび第5ストロークに対して同様の認識処理が実行され、ここで一致と判定される。これにより、LCD12にはHがさらに表示される。レジスタM0には3が保持される。図7Aを参照して、第3回目の認識処理では、認識対象が後方に1文字シフトする。従って、レジスタC1およびC2にはHおよびIがセットされる。領域S0~S4に一時保持された第1~第5ストロークのうち文字Tに対応する第1および第2ストロークは破棄され、第3~第5ストロークが領域S0~S2にシフトされる。この結果、第3~第5ストロークは第1~第3ストロークとなり、次の入力ストロークは第4ストロークS3となる。文字H,Iの最大ストローク数は3,3であり、合計最大ストローク数は6となる。第4ストロークが入力されると、C2文字Iと一致するか否かの認識処理が実行され、不一致と判定される。この時点で、一時保持ストローク数=4は、文字HおよびIの合計最大ストローク数=6を超えていないが、文字Hの最大ストローク数=3を超えたので、第1~第3ストロークは文字Hと一致するとみなされ、継続認識後述は行われない。第5ストロークが入力されると、第4ストロークおよび第5ストロークに対して同様の認識処理が実行され、一致と判定される。なお、判定は大文字だけでなく小文字についても行われており、ここでは小文字iについて一致と判定されている。これにより、LCD12に正解文字Iがさらに表示される。図7Bを参照して、第4回目の認識処理では、レジスタC1およびC2にIおよびSがセットされる。第1~第5ストロークのうち文字Hに対応する第1~第3ストロークが破棄され、第4および第5ストロークは領域S0およびS1にシフトされる。この結果、第4および第5ストロークは第1および第2ストロークとなり、次の入力ストロークは第3ストロークS2となる。レジスタM0には2が保持される。文字I,Sの最大ストローク数は3,1であり、合計最大ストローク数は4となる。第3ストロークが入力されると、第3ストロークに対してC2文字Sと一致するか否かの認識処理が実行され、不一致と判定される。この時点では、一時保持ストローク数=3は、文字IおよびSの合計最大ストローク数=4を超えておらず、文字Iの最大ストローク数=3も超えていないので、継続認識が行われる。継続認識では、まず第1~第3ストロークに対してC1文字Iと一致するか否かがの認識処理が実行され、一致と判定される。これにより、第3ストロークはIの一部と判定される。レジスタM1に3が保持される。次に第4ストロークが入力されると、第4ストロークに対してC2文字Sと一致するか否かの認識処理が実行され、一致と判定される。また、第4および第3ストロークに対してC2文字Sと一致するか否かの認識処理が実行され、不一致と判定される。これにより、LCD12に正解文字Sがさらに表示される。なお、これら2回の判定は、レジスタM0およびM1の保持値に基づく。すなわち、まずM0の保持値3に基づいて第4ストロークS3に対する認識が行われ、M1の保持値2に基づいて第4および第3ストロークS3およびS2に対する認識がさらに行われる。ただし、M0に基づく認識で、C2文字であると認識された場合は、その後のM1に基づく認識をしなくても良い。その後、レジスタC1およびC2にSおよびAがセットされ、同様の処理が行われる。次に、誤入力が発生した場合の文字認識処理を図8A~図8Cおよび図9により説明する。図8Aを参照して、正解文字列THI...に対してTAI...が入力されたとする。図8Bを参照して、先頭文字Tは、図6AのTと同様に認識される。図8Cを参照して、認識対象文字T,Hの最大ストローク数は2,3であり、合計最大ストローク数は5である。第3ストロークが入力されると、第3ストロークがC2文字Hと照合され、不一致と判定される。第4ストロークが入力されると、第4および第3ストロークがC2文字Hと照合され、不一致と判定される。第5ストロークが入力されると、第5~第3ストロークがC2文字Hと照合され、不一致と判定される。この時点で、一時保持ストローク数が合計最大ストローク数に達したため、誤入力である旨がバツ印×で示される。続いて図9を参照して、C1文字Tが正解となり、C2文字Hが不正解となったため、今度は文字HをC1として照合を開始する。一方、プレイヤは、Aが誤りであることがわかったので、H...を入力する。第1ストロークが入力されると、第1ストロークがC1文字Hと照合され、不一致と判定される。第2ストロークが入力されると、第2および第1ストロークがC1文字Hと照合され、不一致と判定される。第3ストロークが入力されると、第3~第1ストロークがC1文字Hと照合され、一致と判定される。こうしてHが認識される。以降、同様の処理が繰り返される。次に、タイムアウトが発生した場合の文字認識処理を図10A~図10Cにより説明する。図10Aを参照して、IAM...のIの入力後にタイムアウトが発生したとする。図10Bを参照して、先頭文字Iは、第2ストロークが入力された時点で認識される。図10Cを参照して、第3ストロークは、図7Bの場合と同様、継続認識によって、AではなくIの一部と判定される。そして最後の第3ストロークのタッチオフ後、無入力状態が一定時間継続するとタイムアウトと判定される。この場合、最後の第3ストロークがIの一部と判定されたため、誤入力ストロークは存在せず、エラー表示は行われない。タイムアウト後、次の文字Aの認識に移る。次に、誤入力時にタイムアウトが発生した場合の文字認識処理を図11A~図11Cにより説明する。図11Aを参照して、正解文字列IAM...に対してILM...を入力中にタイムアウトが発生したとする。図11Bを参照して、先頭文字Iは、第2ストロークが入力された時点で認識される。このとき、レジスタM0に2が保持される。図11Cを参照して、第3ストロークは、図7Bの場合と同様、継続認識によって、AではなくIの一部と判定される。このとき、レジスタM1に3が保持される。続いて第4ストロークが入力されると、これがAと一致するかが判定され、不一致と判定される。また、第4および第3ストロークがAと一致するかがさらに判定され、ここでも不一致と判定される。なお、これら2回の判定も、図7Bの場合と同様、レジスタM0およびM1の保持値に基づく。最後の第4ストロークのタッチオフ後、無入力状態が一定時間継続するとタイムアウトと判定される。この場合、第1~第3ストロークがIと判定され、最後の第4ストロークはAと一致しなかったため誤入力ストロークと判定され、エラー表示が行われる。タイムアウト後、次の文字Aの認識に移る。上記のようなゲームをプレイするとき、CPUコア42は、図12~図14のフロー図に従う処理を実行する。図12を参照して、まずステップS1で問題をスピーカ30aおよび30bから出力する。続くステップS3では、出力された問題に対応する英数文字列の先頭文字を変数C1にセットする。なお、変数C1,C2は、認識対象文字記憶領域102図3参照に記憶される。ステップS5では、変数nSに0をセットし、かつ変数nMに0をセットする。セット後、ステップS7に移る。ここで、変数nSは、タッチ軌跡一時記憶領域94aに一時記憶されているストロークの数ストローク配列の要素数を意味する。一方、変数nMは、変数C1にマッチするストロークの数を意味する。従って、3つのストロークが一時記憶されているとして、そのうち2つがC1文字にマッチする場合、nS=3,nM=2となる。ステップS7では、ストローク入力の有無を判別し、NOであればステップS9で、最後のタッチオフから一定時間が経過しているか否かをさらに判別する。タッチパネル20への入力がない状態つまり無入力状態が一定時間以上継続するとステップS9でYESと判別し、ステップS11に移って変数nSが0より大きいか否かを判別する。ここでNOであればステップS7に戻り、YESであればステップS21に進む。ステップS21では、誤入力である旨を通知する。通知は、例えばLCD14にバツ印×を表示することによって行う図9参照。通知後、ステップS5に戻る。タッチパネル20によってタッチ軌跡が検出されると、ステップS7でYESと判別し、ステップS13に移る。ステップS13では、検出されたタッチ軌跡つまり入力ストロークを領域S[nS]に保存し、かつ変数nSをインクリメントする。ここで領域S[nS]は、タッチ軌跡記憶一時記憶領域94aに含まれる領域S0,S1,...のいずれか1つに対応する図3参照。従って、例えば、最初に検出されたタッチ軌跡つまり第1ストロークは領域S0に保持され、次の第2ストロークは領域S1に保持されることになる。次のステップS15では、領域S[0~nS-1]を対象として認識処理を実行する。そしてステップS17で認識結果が変数C1にマッチするか否かを判別し、YESであればステップS23に移る。従って、例えば第1ストロークが入力されたとき、第1ストロークは変数C1の正解文字と照合される。ここでマッチせず、第2ストロークが入力されると、第1ストロークおよび第2ストロークがC1と照合される図6A参照。ステップS17でNOであれば、ステップS19で変数nSが変数MAXC1以上であるか否かを判別し、ここでNOであればステップS7に戻る。一方、YESであれば、ステップS21でエラー通知を行った後、ステップS5に戻る。ここで変数MAXC1は、変数C1にセットされた正解文字の最大ストローク数を示す。文字毎の最大ストローク数を記述した最大ストローク数データは、最大ストローク数データ記憶領域104aに格納されている。従って、一時記憶されているストロークの数が正解文字の最大ストローク数に達した時点で、領域[0~nS-1]のストロークが変数C1の文字にマッチしなければ、かかるストロークは誤入力と見なされ、再入力が受け付けられる。図13を参照して、ステップS23では、変数C1を正解としてLCD12に表示する。続くステップS25では、変数C1が問題文字列の最後の文字か否かを判別し、YESであれば、この問題の認識処理を終了する。ステップS25でNOであれば、ステップS27で次の文字を変数C2にセットし、さらにステップS29で、領域M[nM]に変数nSを保持し、かつ変数nMをインクリメントする。ここで領域M[nM]は、マッチストローク数記憶領域94bに含まれる領域M0,M1,...のいずれか1つに対応する図3参照。続くステップS31では、ストローク入力の有無を判別し、ここでYESであればステップ41に進む。一方、NOであればステップS33で、最後のタッチオフから一定時間が経過しているか否かをさらに判別する。無入力状態が一定時間以上継続するとステップS33でYESと判別し、ステップS35に移る。ステップS35では、変数nSが領域M[nM-1]の保持番号と一致するか否か、つまり、一時記憶されているストロークの数が、C1マッチと判別されたストロークの数と一致するか否かを判別する。ここでNOであればステップS37に移って、C1とマッチすると判別されたストローク以降の入力ストロークについて、誤入力である旨を通知する図11C参照。通知後、ステップS39に移る。ステップS35でYESであれば、直ちにステップS39に移る。ステップS39では、変数C2の値を変数C1にセットする。つまり、変数C1の値は、変数C2の値によって上書きされる。セット後、ステップS5に戻る。図14を参照して、ステップS41では、入力ストロークを領域S[nS]に保持し、かつ変数nSをインクリメントする。続くステップS43では変数nMから1を減じた値を変数aにセットし、そしてステップS45で変数aが0以上か否かを判別する。ステップS45でYESであれば、ステップS47に移る。ステップS45でNOであればステップS53後述に移る。ステップS47では、領域S[M[a]~nS-1]を対象として文字認識処理を実行する。そして、ステップS49で認識結果が変数C2にマッチするか否かを判別し、YESであればステップS51に移る。ステップS51では、領域S[M[a]~nS-1]の保持内容を領域S[0~nS-M[a]-1]にシフトし、変数nSから領域Maの値を減じた値を新たな変数nSとし、変数nMを0とし、そして変数C1に変数C2の値をセットする。これにより、問題文字列において、認識対象が一文字後方にシフトする。セット後、ステップS23に戻る。ステップS49でNOであれば、ステップS50に移って変数aをデクリメントし、その後、ステップS45に戻る。ステップS45でNOであれば、ステップS53に移って、関係式nS≧MAXC1MAXC2が満足されるか否かを判別し、ここでYESであればステップS37に移る。ステップS53でNOであれば、ステップS55で関係式nS≧MAXC1が満足されるか否かをさらに判別し、ここでYESであればステップS31に移る。ステップS55でNOであれば、ステップS57で領域S[0~nS-1]を対象として文字認識処理を実行する。そしてステップS59で認識結果が変数C1にマッチするか否かを判別し、YESであればステップS29に移る。ステップS59でNOであればステップS31に移る。従って、一時保持ストローク数がC1文字およびC2文字の合計最大ストローク数を超えると、C1マッチストローク以降の入力ストロークが間違いである旨が通知される図8C,図9参照。一時保持ストローク数が合計最大ストローク数を超えてはいないが、C1文字の最大ストローク数を超えていれば、引き続きストローク入力が受け付けられる。一時保持ストローク数がC1文字の最大ストローク数に達するまでの間、全ての一時保持ストロークに対して認識処理が実行される。そして、ストローク入力待ちに移行し、次のストロークが受け付けられると、変数aの値をデクリメントしつつ領域S[M[a]~nS-1]を認識する処理が繰り返し実行される。図7Bの例では、第4ストロークが入力されたとき、a=1なので、まずa1として1回目の認識処理が実行され、次にa0として2回目の認識処理が実行される。以上から明らかなように、この実施例では、CPUコア42は、正解が予め判明している問題を出力しS1、出力された問題に関連する手書き文字入力操作をタッチパネル20を通してストローク単位で受け付けるS7,S31。かかる受け付けの度に認識処理を行いS15,S47,S57、行われた認識処理の結果が正解文字と一致するか否かを判別するS17,S49,S59。この判別結果が否定的であるとき、受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かをさらに判別しS19,S53,S55、そしてこの判別結果が肯定的であるとき不正解を通知するS21,S37。このように、手書き文字入力操作をストローク単位で受け付け、受け付けの度に認識処理を行い、認識処理の結果が正解文字と一致しないとき、受け付けられた手書き文字入力操作のストローク数が正解文字の最大ストローク数を上回るか否かを判別して、かかる判別結果が肯定的であるとき不正解を通知するので、早いタイミングで不正解を通知することできる。その結果、待ち時間が短縮され、効果的な学習が行えるようになる。また、正解文字は、第1正解文字および当該第1正解文字に後続する第2正解文字を含む。正解判別では、まず、行われた認識処理の結果が第1正解文字と一致するか否かを判別し第1判別処理:S17、次に、この第1判別処理の結果が肯定的となった後に認識ステップによって行われた認識処理の結果が第2正解文字と一致するか否かを判別する第2判別処理:S49。そして、この第2判別処理の結果が否定的であるとき、第1判別処理の結果が肯定的となった後に行われた認識処理の結果後認識結果が第1正解文字と一致するか否かを判別する第3判別処理:S59。このように、第1および第2判別処理を実行した後、受け付けられた手書き文字入力操作のストローク数が第1正解文字の最大ストローク数以下であれば第3判別処理をさらに実行するので、第2判別処理の対象となったストロークが第1正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの判別精度が高まり、ひいては不正解の通知タイミングが早まる。さらには、第3判別処理が実行されたとき、第1正解文字と一致すると判別されたストロークの少なくとも一部と、第1正解文字と一致すると判別されたストロークの後に入力されたストロークとを含むストロークを認識ステップによって認識させ、この認識処理の結果が第2正解文字と一致するか否かをさらに判別する第4判別処理。このように、第3判別処理と共に第4判別処理を行うことで、第1正解文字の一部とされたストロークが第2正解文字の一部であればそれがわかる。この結果、手書き入力文字が正解文字と一致するか否かの手書き入力文字が正解文字と一致するか否かの判別精度が一層高まり、ひいては不正解の通知タイミングがさらに早まる。なお、以上では、スピーカ22a等から出力される英文を書き取る書き取りゲームを用いて説明したが、この発明は、正解が予め判明している問題を出力し、出力された問題に関連する手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識し、認識された文字が正解か否かを判別し、そして判別結果を通知することによってユーザの学習を支援する、学習支援プログラムに適用できる。また、学習支援プログラムに限らず、手書き文字入力操作をタッチパネルを通して受け付け、受け付けられた入力操作に対応する手書き文字を認識する、文字認識プログラムにも適用できる。"