効果実装案
効果の実装方法
カードの特殊効果クラス
このクラスはカ-ドの特殊効果のクラスで、カードの効果を発動したとき、このクラスが効果クラスを生成する。
範囲 効果の範囲 (フィールドのカードすべて、任意 のカード1枚、任意のキャラクターカード1枚など)
対象 範囲の中で、その条件に当てはまっているもののみを 対象とする。
条件 カードを使用できる条件(これが成り立たないと使え ない。)
コスト その効果を使うときに払う代償(これが無いとつかえ ない。)
効果 生成する効果(複数持てる)
効果クラス
生成処理 効果クラスが生成されたとき行う行動
発動条件 効果が発動状態になる条件
発動処理 発動条件を満たしたときに行われる処理
停止処理 効果が停止状態になったとき行われる処理
破棄条件 効果が破棄される条件
破棄処理 効果クラスが破棄されたときに行う行動
対象 この効果が及ぼす対象(すべてor具体的なカード)
説明 効果クラスには4つの状態があり、初め生成状態になり発動条件を満たしていれば発動状態に満たさなければ停止状態にする。
発動停止のどちらの条件であっても、破棄条件を満たせば破棄できる。破棄条件を満たすことで効果は無くなる。
効果クラスは効果管理クラスを作りそこに登録しておく
おそらく発動状態と停止状態の2つのクラス
破棄条件が満たされれば効果クラスを破棄し、登録から抹消する。
製作例
このカードが場にある限り毎ターンのエンドフェイズ時にHP+1
生成処理 なし
発動条件 エンドフェイズ時
発動処理 HP+1
停止処理 なし
破棄条件 このカードがなくなる
破棄処理 なし
このカードが場にある限りこのカードのダメージを-1する
防御力や攻撃力という数値をプログラム内部に実装する場合
生成処理 防御力+1
発動条件 なし
発動処理 なし
停止処理 なし
破棄条件 このカードがなくなるorサポートされているキャラ クターが死ぬ
破棄処理 防御力-1
防御力や攻撃力という数値をプログラム内部に実装しない場合
生成処理 なし
発動条件 防御側&エフェクト解決時
&カードに対するダメージ>1
発動処理 ダメージ-1
停止処理 なし
破棄条件 このカードがなくなる
破棄処理 なし
このターン相手は攻撃できない
生成処理 攻撃禁止フラグON
発動条件 エンドフェイズ時
発動処理 なし
停止処理 なし
破棄条件 ターン終了
破棄処理 なし
案1
フラグによって管理
案2
範囲 効果の範囲 (フィールドのカードすべて、任意のカード1枚、任意のキャラクターカード1枚など)
対象 範囲の中で、その条件に当てはまっているもののみを対象とする。(HPx以上または以下、~という名前のなど)
発動時間 その効果の及ぼす時間(1ターンだけとか、対象のカードが場から離れるまでとか、このカードが無効化されるまでなど)
効果 実際に与える効果 (xダメージ、~のカードが使えない、~のカードの技のダメージ+xなど)
案3 107さんのアイディアです。
スクリプトを作る
ほとんどの変数をスクリプトから見えるようにして参照と変更を可能にする。
処理の流れは
参照→判定(分岐)→処理
の順序
必要なもの エラーチェック、ワークエリア
ワークエリアを配列で管理するため最低でもマクロ機能は必須。
最終更新:2007年04月09日 00:52