開発じたばた日誌

前へ●●●次へ
じたばた日誌目次へ戻る
TSUCHY Softへ戻る


Styx 階層はどうしよう編

 まずは簡単な方から攻めましょう。ボタンの数を無制限にすることです。 ボタンをいくつ用意すればいいのかわからないということは、実行時でダイナミックにボタンを作るということです。 時々「登録ボタンは最大200」とかいうランチャーあります。 これは一個しか登録しなくても200個分のメモリーを使用しているのではないでしょうか? でもダイナミックにボタンを用意すれば必要最低限のメモリーですみます。 ここでいうダイナミックとは「豪快」とか「ビールの銘柄」ではなくて、「そのときの状況に応じた」という意味で とらえると理解できると思います。

 さて難しいのが無限階層です。無限の階層とは特殊なものでしょうか?いえ、あなたの目の前にあります。 まずメニューですね。 さすがに階層が100というものは全く役にたたないのですが、 理屈から言えばいくらでも階層を深くできます(でも画面の全てがメニューで埋め尽くされるかも)。

 そしてHDDのディレクトリがあります。 理屈からいくとディレクトリの深さに制限はありません。 ディスク容量に制限があるので無限の階層ができないだけです(そして役に立たないから)。 そうです、FATのような内部構造をもてばいいのです。 そして運がいいことに私はFATがどんなものかだいたい知っているのです。 FATってフロッピーしかないようなはるか古代に考えられたのですが、これを考えた人は本当にすごいと感心します。

 事実、Styxのボタンの階層データはFATをもっと単純にしたような構造をしています。 無限階層を作ってもデータの内部構造は階層ではありません。 Aはボタン(ファイル)Bと階層(ディレクトリ)Cを持っている。 CはボタンDと階層E,Fを持っている。こういった親子関係がたくさんあるだけなのです。 これをルートからたどっていくと深い階層があるように見えるのです。