はじめに

    このエントリは気が向いたら随時更新していきます。気長にやっていればそのうち完成するかもしれませんが、基本未完成です。

目的

    TRPGのルール、システムなどのデータをデータベースとして管理し、専用アプリケーションでチャート類の絞り込み表示、検索、データ拡張、複数のサプリメントを統合することが可能な電子書籍フォーマットを作成する。

基本要件

  • 組み込みデータベースを使用し、DBファイル一つにルール解説などを含めた全ての書籍のデータを記載し、プラットフォームに依存せず表示が可能な形式とする。
  • ルール解説などのテキストデータと、TRPGのシステムデータを切り離して管理し、データの修正が行われた場合に本文テキストを修正しなくて済むようにする。
  • 複数のサプリメントを統合して表示し、チャート表示にて検索できるようにする。
  • チャートなどの簡易表示形式データからも詳細データのリンク、もしくはポップアップによる参照を可能にする。

基本的な仕様

  • DBはSQLiteを使用する。
  • 書籍表示時のフォーマットおよびテキストを格納するテキストテーブル、システムのデータを格納するデータテーブル、データの表示フォーマットを格納するフォーマットテーブル、画像ファイルを格納するイメージテーブルの4つのテーブルでデータを構成する。

    各テーブル詳細

  • テキストテーブル
    ルールに関するテキストの説明文を格納する。ルール名+サプリメント名+段落番号の3つでユニークにする。基本1冊につきファイルは一つなので、事実上段落番号がユニークキーになる。
    デーブル構成は以下の通り

    • BaseName(string)
      →ベースとなるルールの名前。null不可。複合キー。

    • SupplementName(string)
      →サプリメント名。null許可。複合キー。

    • Numbering(string)
      →段落番号。複合キー。null不可。

    • Title(string)
      →段落タイトル。null不可。

    • Text(text)
      →本文データ。null不可。htmlデータ。

    本文データの仕様

      基本的にhtmlを表示。ただし、リンクはすべて無効化され、チャート画面への表示となる。
      チャート画面への出力指定はURLにて指定する。
      書式は各要素を”|”で区切り、パラメータ名:パラメータ内容の形で出力する
      例:BaseName:MMDWorldSRS|SupplementName:ゲキド街,なぎさ町,リベルニア|TypeName:特技|Parameter1:*魔法|type:ChartView

      type
       チャートの種類を選択する。必須。
      TypeName
       表示するデータのタイプを選択する。完全一致。必須。
      ParameterX
       Xは01~99の数字。フィルタ条件を指定したい場合に記入。カンマで区切れば複数ワードを指定可能。完全一致だがワイルドカード(*)指定で部分一致(パラメータだけあって無指定の場合は空白のみを表示)。省略可
      BaseName
       使用するルール名。指定ルールはParameterXのそれと同じ。必須。
      SupplementName
       使用するサプリメント名。指定ルールはParameterXのそれと同じ。省略した場合、SupplementNameが無指定のもののみ表示。全部表示したい場合は”*”と指定する。

  • データテーブル
    各データの詳細内容を格納する。
    →例えば、武器データの場合であれば命中修正、ダメージ修正、価格など、魔法データなら対象、効果範囲、消費MPなど

    テーブル構成は以下のとおり

    • BaseName(string)
      →ベースとなるルールの名前。null不可。複合キー。

    • SupplementName(string)
      →サプリメント名。null許可。複合キー。

    • Name(string)
      →データの名前。null不可。複合キー。

    • Type(string)
      →データの種別(武器、防具、魔法など)。null不可。複合キー。

    • ParameterX(string)
      →Xは01~99の数字。各種パラメータの値。それぞれの番号のパラメータが何を示すのかはタイプテーブルで定義する。null許可。

    • FilterKeyword(string)
      →サブカテゴリなどフィルタリングに使うメタキーワード。null許可。

    • Detail(text)
      →データとして記載する詳細な説明文。null許可。
  • フォーマットテーブル
    データのタイプごとのパラメータ名、表示書式を格納する

    テーブル構成は以下の通り。

    • BaseName(string)
      →ベースとなるルールの名前。null不可。複合キー。

    • SupplementName(string)
      →サプリメント名。null許可。複合キー。

    • Type(string)
      →データのタイプ。データテーブルルのものと同じ。null不許可、複合キー。

    • ParameterX(string)
      →Xは01~99の数字。データテーブルルのそれぞれの番号のパラメータが何を示すのかを定義する。未使用の場合はnull

    • ChartView(string)
      →一覧表示時のtableタグフォーマット。null不許可

    • DetailWindow(string)
      →個別のデータのウィンドウ表示用のtableタグフォーマット。null不許可

    • ExtendView(string)
      →一覧、詳細以外に表示フォーマットがある場合にテーブルタグを定義する。null許可。

    • Detail(text)
      →各項目の説明や記載記号の意味などの詳細な説明文。null許可。
  • イメージテーブル
    各種イメージファイルを格納する。

    テーブル構成は以下の通り。

    • BaseName(string)
      →ベースとなるルールの名前。null不可。複合キー。

    • SupplementName(string)
      →サプリメント名。null許可。複合キー。

    • ImageName(string)
      →イメージの表記名。null不可。複合キー。

    • File(binary)
      →イメージファイル本体。null不可。