クラス一覧


voidたん・アプリケーション・クラス構成

Ver.06/09

voidたん(仮)━void_tan.class
            ┃
            ┣VoidHeadline.class
              ┃  ┃
              ┃  ┗Headline.class(interface)
              ┃     ┃
              ┃     ┗anyhead.class(implements Headline.class)
              ┃
            ┣VoidHeadlineBuffer.class
              ┃
            ┗VoidHeadlineReader.class

voidたん・ライブラリ・実装詳細

void_tan.class
voidたん・アプリケーションクラス

VoidHeadline.class
headline を処理する親クラス。現在は HEADLINE/1.0 仕様 like
Headline.class を implements して作られた headline class を呼び出す

Headline.class (interface)
headline を定義したインターフェース

anyhead.class (implements Headline.class)
DOIchan! 氏の「ヘッドラインセンサ for いろんなホームページ」
っぽい仕様の headline サンプル実装

VoidHeadlineBuffer.class
ヘッドライン・データを定義するクラス

VoidHeadlineReader.class
ヘッドライン用のファイル読み込みクラス


voidたん(仮)・ライブラリ・クラス構成

Ver.08/10
            ┏Omamagoto.class(implements Makoto.class)
            ┃
         ┏Makoto.class(interface)
         ┃
         ┃     ┏OkawariReader.class
         ┃     ┃
         ┃  ┏Okawari.class(implements Shiori.class)
         ┃  ┃
         ┣Shiori.class(interface)
         ┃
          ┏Omoikane.class
          ┃
          ┣Ruri.class
          ┃  ┃
          ┃  ┗RuriSstp.class
          ┃     ┃
          ┃     ┗RuriSstpThread.class
voidtanlib┫
          ┣Sakura.class
          ┃  ┃
          ┃  ┣SakuraThread.class
          ┃  ┃
          ┃  ┣SakuraMouseThread.class
          ┃  ┃
          ┃  ┣SakuraMouseAdapter.class
          ┃  ┃
          ┃  ┗SakuraMouseMotionAdapter.class
          ┃
          ┗━┳Shell.class
            ┃  ┃
            ┃  ┣ShellSurface.class
            ┃  ┃
            ┃  ┗ShellMenuBindListener.class
            ┃
            ┣Seriko.clas
            ┃  ┃
            ┃  ┣SerikoThread.clas
            ┃  ┃
            ┃  ┣SerikoAnimation.class
            ┃  ┃  ┃
            ┃  ┃  ┗SerikoAnimationPattern.class
            ┃  ┃
            ┃  ┗SerikoBind.class
            ┃
            ┣Multee.class
            ┃
            ┣Balloon.class
            ┃  ┃
            ┃  ┗BalloonBox.class
            ┃     ┃
            ┃     ┗BalloonMessage.class
            ┃
            ┣Cotton.class
            ┃
            ┗━┳Alias.class
              ┃
              ┣VoidReader.class
              ┃
              ┗Png.class
                 ┃
                 ┣PngIdat.class
                 ┃
                 ┗PngImage.class

voidたん(仮)・ライブラリ・実装詳細

Omamagoto.class (implements Makoto.class)
Makoto.class の実装の 1 つ。「選択」と「乱数回反復」を処理する
makoto.dll とコンパチ実装してみました。ちなみに Makoto.class は実体は
ありません。

Makoto.class (interface)
Makoto を定義したインターフェース

OkawariReader.class
「おかわり」のファイル(=「華和梨」のファイル)を読み込む為のクラス。
BufferedReader からの派生クラス。暗号デコードと token 解析処理が追加
されている

Okawari.class (implements Shiori.class)
Shiori.class の実装の 1 つで「華和梨」の辞書が使える疑似 AI。
Phase0.42 相当ですが一部手抜き。ちなみに Shiori.class は実体はありません。

Shiori.class (interface)
Shiori を定義したインターフェース

Omoikane.class
Shiori.class と Makoto.class を束ねる Ghost の上位クラス

Ruri.class
Ghost や SSTP を Sakura と仲介するクラス。SSTP のサーバーになって
いる

RuriSstp.class
SSTP の 1 コネクションに対する親 thread。タイムアウトを監視する
タイムアウトに stop() (使用が推奨されない method)を使っているので
問題がある、が、まぁ、タイムアウトすることは無いだろう、普通(をい)。
良い実装方法が分かったら修正するかも

RuriSstp.class
SSTP の 1 コネクションに対する子 thread。実際の SSTP を処理する。
とりあえず SEND/1.1 だけ。現在 conflict はチェックしていない、break
するとたぶん落ちる、など、かなり手抜き状態

Sakura.class
Ghost と Shell を仲介するクラス。小脳?

SakuraThread.class
sakurascript を処理するクラス。まだまだ

SakuraMouseThread.class
マウスのプレス、ドラッグの実際の処理を行うスレッド

SakuraMouseAdapter.class
マウスが押された場合の処理を記述した adapter。Sakura で add
されているが、Sakura を component として使わない場合はアプリケーション
側で処理する必要がある(呼び出されない為)。なお、このクラスは
状態の変化を記録するだけで、実際の処理は SakuraMouseThread クラスで
行われる

SakuraMouseMotionAdapter.class
マウスがドラッグされた場合の処理を記述した adapter。Sakura で add
されているが、Sakura を component として使わない場合はアプリケーション
側で処理する必要がある(呼び出されない為)。なお、このクラスは
状態の変化を記録するだけで、実際の処理は SakuraMouseThread クラスで
行われる

Shell.class
sell のクラス。descript.txt の読み込みと、イメージファイルの
読み込みを行う。seriko のアニメーションイメージも、読み込みは、この
Shell.class が行う。理由は、同じ画像の 2 度読みを防ぐために、
Shell.class でキャッシュ処理を行うため

ShellSurface.class
surface[id]s.txt を定義してるクラス

ShellMenuBindListener.class
着せ替えメニュー用の ItemListener クラス

Seriko.class
seriko のクラス。surface[id]a.txt を定義している。定義(読み込み)は
おおよそ SERIKO/1.6 まで対応している(実行は ShellThread.class)

SerikoThread.class
seriko として読み込まれたアニメーションを処理するためのスレッド。
Shell.class の中で sakura と kero として起動され、seriko のアニメーション
処理を実行する。現在実装してるのはおおよそ SERIKO/1.2 まで

SerikoAnimation.class
seriko のアニメーショングループを定義してるクラス

SerikoAnimationPattern.class
seriko のアニメーションパターンを定義してるクラス。指定した
surface を実際に読み込むのは Shell.class なので、実在するかどうかは
このクラス内ではチェックされない

SerikoBind.class
着せ替えデータを定義するクラス

Multee.class
3D Model Surface を処理します。ちなみに名前を決めただけで実装予定
はおろか、具体的構想や目処は何もありません。だいたい Java3D って速度
でるんかい(ってゆーか java でやるんかい > オレ)。とりあえず萌え
モデリングデータはあるわけだから...

Balloon.class
balloon 全体を定義しているクラス。まだ仕様を満たしていない

BalloonBox.class
個々の balloon を定義しているクラス

BalloonMessage.class
balloon に表示される 1 行を定義しているクラス

Cotton.class
第 2 の balloon ?。Java の Container というべきか。もしくは
balloon が出力なのに対して cotton は入力。さらに言い換えれば
アプリケーション用の GUI。ただ、実家が AI を通して全てを「会話」に
集約しようとしているのなら、これは後ろ向きの従来手法提供 Class。
絵的には shell が「手に持つ」表示を予定。もっとも肝心の絵が無い
という話もある。...てのを、そのうち「いっくぽーん」ってことで

Alias.class
shell や seriko の alias を実現するためのクラス。hashtable を
利用して、alias が登録されてるかどうかをチェックしている

VoidReader.class
*.txt ファイルを読み込む為のクラス。BufferedReader からの派生
クラス。*.txt 用の token 解析処理が追加されている

Png.class
png 画像を読み込むためのクラス。現在フルカラー画像の一部にしか
対応していない。また、applet から動作させると環境によっては正常動作
しない(原因不明)。JAVA2 以降なら自前で用意しなくても読めるのだが
まだ、対応ブラウザが無いので applet の為に自前で用意している。が、
前述の通り、出来が良くないので、どうにかしたい

PngIdat.class
png 画像の IDAT を一時的に保存するバッファを定義しているクラス

PngImage.class
png 画像を定義しているクラス