久しぶりにプログラムを投稿いたします。このプログラムはタイピング練習ソフトですが、ある付加機能が正常に動作いたしません。 文字をクリックすると、一般的なローマ字が表示されるようにしたのですが、原因不明のエラーが発生します。当方でバグを取り除こうといろいろ努力をしたのですが、どうしても身に覚えのないエラーが表示されます。それ以外のすべての機能は正常に動作いたします。 そこで、ひまわりプログラマーの皆様の力を借りたいと思い、掲示板に掲載することにいたしました。このプログラムは、拙作のホームページで公には公開されていませんので、以下のリンクから直接ダウンロードしてください。 http://plaza.across.or.jp/~kobachi/arc/5wtype_src.zip よろしくお願いいたします。
kobachiさん、こんばんは。SWinXです。どれどれ、と実行してみて、おもわずはまってしまいました。ひとしきり遊んだあと、プログラム見て、あれ…?> 久しぶりにプログラムを投稿いたします。このプログラムはタイピング練習ソフトですが、ある付加機能が正常に動作いたしません。付加機能はどこにありますか?(爆)ひととおり流れを追ってみましたが、当該ルーチンは、私には見つけることが出来ませんでした。申し訳ありませんが、どのファイルの何行目、もしくはこういう動作したときにこんな表示、等の情報をもうちょっとください。ちなみに、当方の環境:OS=WinMe/ひまわりV1.35では問題なく動作し、かつ面白かったです^^
早速ダウンロードしていただき、ありがとうございます。不具合部分についての解説が不足しているので、追記いたします。 ゲームを開始すると、画面中央に問題文が表示されます。その問題文をクリックすると、「言う」命令を使って最も一般的なローマ字を表示するようにしたいのです。該当ルーチンは126行目の「参考ローマ字表示」です。 「参考ローマ字表示」で行っている処理は大きく分けて二つに分類されます。一つ目は、「問題文から文字を切り出す」と実際に「ローマ字辞書から文字を探し出す」ためのプログラムです。 ローマ字入力では、普通「っ」などの小さな文字を単独で入力する事はしません。そこで、問題文の一番左側をとりあえず切り取った後、その文字が小さい文字であるかをチェックします。また、その文字が小さい文字でなくても、その次の文字が小さい文字であった場合(例えば「ちゃ」)、それもチェックします。前半部分は主にこの処理です。 134行目からは、ローマ字辞書からローマ字を取得するプログラムになっています。ローマ字辞書はハッシュ形式で作成されており、 a=あ i=い という形式で保存されています。実はこの形式が曲者(くせもの)で、ただの辞書なのにひまわりのプログラムとして実行できてしまいます。つまり、ひまわりにとってみれば、ハッシュ辞書の中の1行なのか、それともプログラムによる代入なのかが少しあいまいになってしまい、ちょっとした事でエラーになります。 恐らく、この部分は単純なエラーではないと思われます。まず、ひまわりのエラーメッセージが非常に挙動不審です。明らかに正しいプログラムを実行できなかったり、変なラベルに飛んだりと、とにかく動作が異常です。 このルーチンだけを取り出して実行するとまったく問題なく実行できるので、何がエラーの原因なのか皆目見当がつきません。一人で悩んでいても時間が無駄になる可能性が高いので、この掲示板に書き込ませていただきました。 以上が、エラーの詳しい内容です。どうぞよろしくお願いいたします。追記:バグ報告掲示板でも報告されていますが、「戻る」バグがこのプログラムでも発生します。しかも、頻繁に。しかし、「エラーを無視」するとデバッグが…前のバージョンではエラーにはならないので、とりあえず前のバージョンにダウングレードしてチェック中です。
ひまわりVer1.36の問題だと、思います。もし、・・・・戻るは、エラーになりますので。
2002/04/03 15:35までにダウンロードしてくださった方、大変申し訳ございません。アップロードしていたファイルのバージョンが古いものでした。問題が発生するバージョンのファイルをアップロードいたしました。 http://plaza.across.or.jp/~kobachi/arc/5wtype_src.zip今までご指摘をいただいた、SWinX様、北上様、本当にありがとうございます。また、メールでこのことを知らせてくださったSWinX様には、この場を借りて特に御礼申し上げます。今回のバージョンでは、必ず、バグが発生します。どうぞよろしくお願いします。
こんばんは、SWinXです。北神さんのご指摘の通り、ひまわりのバグ退治で解決の模様。クジラ飛行机さんのすばやい対応のおかげで、ひまわりV1.37で当方では、問題なく動いております。すばらしい…とりあえず、ひまわりV1.36でも、*問題タイマー の「戻る。」を「待機。」に書き換えれば再現しなくなることまでわかったのですが、いまさらですね(苦笑)