Class

Card

Card(markopt, nopt, mpopt, nullable)

基本属性を持つカードのクラス. 最初に Card.init(GE, width, height) を 実行してからインスタンスの生成を行う.

各インスタンスは次のプロパティを持つ.

  • mark
  • value
  • MP
  • skill (任意)
  • cardAtlasID (任意)

(1) mark は, このカードの属性をSuitsにおけるインデックスで表した数値である. 便宜上, このクラスのコメントでは「マーク数値」と略す. mark の取りうる値は 0 ~ (PrimitiveSuits.length-1) の範囲の整数である.

(2) value はカードの「コスト」を表す. 範囲チェック・整数チェックは行わないが, 0 ~ 10 の範囲の整数であることを想定して扱われる. (整数でないときの挙動は保証しない!)

ただし, value == 0 のカードは「カードが存在しない」状態を表すインスタンスとして 扱われる. たとえば, paintメソッドで何も描画されない.

(3) MP はこのカードの基本攻撃力を表す. 実際はこの値を直接使うことは滅多に無く, MPBoostBySuitの補正を施した値を getMP() メソッドで計算して使う.

以上の3要素はどんなインスタンスも必ず定義されている. これに対し, 他の2つは定義されている場合も未定義の場合も両方ある.

(4) skill はこのカードの持つスキルを表す. 原則として PlayerSkill に属するいずれかの生成関数で作成されたオブジェクトを持つ.

(5) cardAtlasID はcardlist.jsにおけるこのカードのIDである. cardAtlasに登録されているカードには自動的に付与される.

Constructor

# new Card(markopt, nopt, mpopt, nullable)

指定されたマーク数値, コスト, MPを持つカードを生成する.

Parameters:
Name Type Attributes Default Description
mark number <optional>
0

このカードのマーク数値

n number <optional>
0

このカードのコスト

mp number <optional>
<nullable>
null

このカードのMP. 省略時は n*20 で代用する

Properties:
Name Type Attributes Description
mark number

このカードのマーク数値

value number

このカードのコスト

skill PlayerSkill_skill <optional>

このカードが持つスキル

cardAtlasID string <optional>

cardlist.jsにおけるこのカードのID

View Source card.js, line 1107

Members

boolean

# MarkerFlag

スキル持ちカードのマーカーを表示する場合true, 表示しないときfalse. このフラグはPrismaticCardからも参照される

View Source card.js, line 1113

Card

# NullCard

該当するカードが存在しないことを表すオブジェクト. コストが0なのでpaint()で何も描画されない

View Source card.js, line 1120

# compare

カードの整列に用いる比較関数. もしマーク数値が違えばマーク数値の大小を比較する. そうでないとき, コストの大小を比較する.

View Source card.js, line 1144

Methods

# getMP() → {number}

MPBoostBySuitの補正を適用した後のMPを計算する.

View Source card.js, line 1168

計算結果

number

# paint(GE, ctx, x, y)

指定された座標を左上端としてこのカードを描画する. ただし, コストが 0 のカードは何も描画しない.

Parameters:
Name Type Description
GE stdgam.GameEngine

この処理に用いるGameEngine

ctx CanvasRenderingContext2D

描画処理に用いるコンテクスト

x number

描画位置のx座標

y number

描画位置のy座標

View Source card.js, line 1180

# static init(GE, width, height)

Cardクラスを初期化する. 具体的には, "CARDIMAGES"で登録されている画像をGE.imagesから読み込み, stdgam.ImageCutterで分割する. 以降, これをカードの描画に用いる.

Parameters:
Name Type Description
GE stdgam.GameEngine

画像のロードに用いるGameEngine

width number

カードの横幅

height number

カードの縦幅

View Source card.js, line 1130