1月18日(金)変数の型とタグの定義(1)
 では、前回挙げた変数の型と出現回数、実際にどういうタグを使って記述するかを考えます。
まずは、《ユニット》とそのスーパークラスとなる《カード》です。
カード
変数名 出現回数
カード名 String
種類 String
タイプ String 0or1
手記 Class 手記 0or1
イラストレーター String
頻度 String
セット String
 前回話してませんでしたが、手記はクラス《手記》とします。変数は『著者』と『内容』です。 次に《ユニット》です。
ユニット
変数名 出現回数(値)
属性 String
レベル int 1(0以上)
即時召喚 boolean 0or1
種族 String
攻撃力 int 1(0以上)
防御力 int 1(1以上)
進軍タイプ String
常備能力 Class 0or1
特殊能力 Vector 0回以上
 ()の中は変数がとる値の範囲です。特殊能力は複数回出現することがあるので、 クラス《特殊能力》を要素とするVectorとします。

 《常備能力》及び《特殊能力》は以下の通りです。
常備能力
変数名 出現回数(値)
イニシアチブ int 0or1
アイテム枠 int 0or1(1以上)
スペル枠 String 0or1
チャージ int 0or1(1以上)
ディフェンダー int 0or1(1以上)
耐性 String 0or1
特殊能力
変数名 出現回数(値)
種類 String
名前 String
タイミング String 0or1
効果 String
 
 
 スペル及び、耐性はVectorにした方がいいのか、そのまま1列の文字列にした方がいいのか…。 とりあえず1列の文字列としときます。

 では次に、《ユニットカード》のタグを決めます。 とりあえず日本語で書いときます。まだ英語決めてないし。その方が見やすいので。
<ユニット>
  <カード名></カード名>
  <種族></種族>
  <レベル 即時召喚=""></レベル>
  <属性></属性>
  <攻撃力></攻撃力>
  <防御力></防御力>
  <進軍タイプ></進軍タイプ>
  <常備能力>
    <イニシアチブ></イニシアチブ>
   <チャージ></チャージ>
    <ディフェンダー></ディフェンダー>
    <アイテム枠></アイテム枠>
    <スペル枠></スペル枠>
    <耐性></耐性>
  </常備能力>
  <特殊能力>
    <種類></種類>
    <名前></名前>
    <タイミング></タイミング>
    <効果>
  </特殊能力>
  <出現頻度></出現頻度>
  <イラストレーター></イラストレーター>
  <手記>
    <著者></著者>
    <内容></内容>
  </手記>
</ユニット>
 試しに《無垢なる混沌》を上記の書式で記述します。
<ユニット>
  <カード名>無垢なる混沌</カード名>
  <種族>魔法生物</種族>
  <レベル>7</レベル>
  <属性>魔</属性>
  <攻撃力>0</攻撃力>
  <防御力>7</防御力>
  <進軍タイプ>飛行</進軍タイプ>
  <特殊能力>
    <種類>○</種類>
    <名前>「虚無」</名前>
    <タイミング>[戦闘]</タイミング>
    <効果>省略</効果>
  </特殊能力>
  <出現頻度>ごく稀</出現頻度>
  <イラストレーター>Rulia046</イラストレーター>
</ユニット>
 こんな感じになります。

 次回は他の種類のカードを考えます。
1月27日(日)変数の型とタグの定義(2)
 では、前回に続いて、アイテムです。
アイテム
変数名 出現回数
種類 String
 アイテムは種類(消耗品or装備品)という、属性だけを持ちます。
消耗品、装備品は別のクラスにします。
消耗品
変数名 出現回数(値)
タイミング String 0or1
効果 String
装備品
変数名 出現回数(値)
特殊能力 Class 1回以上
 
<アイテム 種類="消耗品">
  <カード名>魔力の粉</カード名>
  <タイミング>[普通/対抗]</タイミング>
  <効果>省略</効果>
  <出現頻度>頻繁</出現頻度>
  <イラストレーター>田中としひさ</イラストレーター>
</アイテム>
 ほかのカードも同様にしていきます。
戦闘スペル
変数名 出現回数
属性 String
使用条件 String
タイミング String
効果 String
儀式スペル
変数名 出現回数
使用条件 String
効果 String
地形
変数名 出現回数
リミット int 1(0以上)
効果 String
召喚術師
変数名 出現回数
デック枚数 int 1(45以上?)
所属勢力 String
ユニット制限 String
そのた制限 String
変更ルール String
 めんどうなので、例は省略します。

 次回は、今回の定義に従いスキーマを記述していきたいと思います。


もどる