FAQ


質問一覧
質問 Applet Basicを動かすのに最も適した環境を教えてください。
回答 最も適した環境は分かりませんが完璧に動くのを確認した環境は以下の通りです。
使用 OS Windows 95
使用ブラウザ Internet Explorer ver.5
JDK 1.0.2に含まれるAppletViewer
使用 JDK JDK 1.0.2

質問 透過 GIFファイルのイメージをスプライトに設定しても背景が透明になりません。
回答 背景が透明のスプライトを正しく設定できないのには二つの原因が考えられます。
まず LoadTransImg命令を使って透過 GIFファイルのイメージをロードしているか確認してください。LoadImg命令ではイメージの背景はバックカラーで塗りつぶされてしまいます。
次に考えられる原因はディスプレイの表示可能色が少ないことです。背景が透明のスプライトを正しく表示するには、パレットは 24ビットカラーでなければいけません。パレットの設定は[画面のプロパティ]-[ディスプレイの詳細]-[カラーパレット]で変更できます。

質問 Input命令が働きません。
回答 まずブラウザの種類をチェックしてください。最新の Netscape Navigatorでは正しく働かないのを確認しています。
ブラウザが Internet Explorerのバージョン 4以上ならば、フォーカスがアプレットに移っていないことが考えられます。アプレットの部分をクリックして再度入力してみてください。ここで注意してもらいたいのは、アプレットが表示されているウィンドウにフォーカスを移してもアプレットにフォーカスが移ったことにはならない点です。必ずアプレットの部分をクリックしてください。

質問 なぜ Applet Basicのバージョンは 5から始まるのですか。
回答 バージョンの整数部は Applet Basicをスクラッチから作り直した回数です。やっとバージョン 5で満足する出来になったので世に送り出しました。それぞれの特徴は以下の通りです。暇な人は読んでください。
ver.1 エディタで有名な秀丸のマクロで計算式とIf構造、While構造、簡易版のPrint命令のみが可能なApplet Basic(この時は B2J(Basic To Java)と呼んでいた。)が完成。Basicから Javaへのトランスレータが現実味を帯びる。
しばらくマクロで作り続けるがスピードの遅さとデータ構造の限界により諦める。
ver.2 Visual Basicで作った初めてのバージョン。組み込み関数を何個かサポートし、Javaアプレットに変換するように設計を作り直す。何とか、お絵描きプログラムが動きとても感動した。受験勉強がいそがしく本体はあまり進展しなかったが、様々な基礎研究を行った。
ver.3 予備校の夏休みになり一気に作り直すことを決意。一日の平均睡眠時間三時間以下で死にもの狂いで一週間という短期間で作り上げる。疲れた。組み込み関数、組み込みステートメントもすべて 0から作り上げ、制御構造もSwitch構造以外は一応出来上がる。Ver.2と全く異なる本格的なパーサを実装したのでかなり苦労した。
ver.4 Ver.3の完成後、三日程休み、プログラムを再開、設計の甘さと Ver.3の疲れが残っていて嫌気がさし見事に挫折。
ver.5 一週間ほど休み、プログラムを再開することを何とか決意。Ver 4の過ちを繰り返さないように最初に達成目標を決め、一歩一歩進む。プログラムを組んでいる途中でいろいろと機能を付け足し、結局三回ぐらい半分以上を書き直す。この世の地獄を見た。満足できる出来になった時には、トランスレータ本体約 15000行、ライブラリ約 5000行の巨大なプログラムとなる。このバージョンは決死モード二週間、休み二週間、予備校に通いながら勉強と両立し一ヶ月という長い期間をかけたので Ver.4とは完成度に天地の差がある。以下に特に苦労した点を述べたい。
  • Basicと同じ自由度の Goto,Gosub命令の実現 (Javaでは限定的な goto命令しかサポートされていない)とこの命令の追加による制御構造の理論の変更
  • 配列のサポート
  • レコード型のサポート
  • エラーメッセージの表示機能
  • 必要なライブラリファイルのみを自動選択しコピーする機能
  • Select Case構造の完全サポート
  • ユーザ定義の関数、ステートメントのサポート
  • Paint命令,Point命令
  • ドキュメント
プログラミング言語を本格的に勉強せず手探りで進んだので時間がかかり、専門家からみればお遊びに過ぎないような内部構造だけれども自分なりに何とか満足できるレベルになった。次の Javaによるバージョンは勉強を真面目にして更なる進歩に挑戦したいと思う。