メモ 0707 グローバル変数を多用すべきか否か? グロバール変数の多用→プログラムの修正,追加が困難 グローバル変数を極力減らす→関数の引数が増大(これは構造体の使用により緩和可能) ----------------------------------------------------------------------------- メインをどこにすべきか? :SLG部分 :戦場(カードの場)部分 :戦場よりも一段階上(よりゲーム性が増す?通信のみを考えてもこれは結構重要) →戦場よりも一段階上から?要検討 ----------------------------------------------------------------------------- 要:変数を確定させる カード種別:ユニット :戦闘スペル etc ユニット:攻撃力 :防御力 :レベル :名前 :種族 :属性 :進軍方法 :レアリティ :etc(HSP引用すべし) ユニットの移動方法: ダイクストラの定理 ・飛行ユニット:斜めも探索条件に組み込む(i,jでより簡略化可能?)  その際、ほかのサブルーチンを読み出す?個別で読み出し,処理部は同一のものを使う? カード種別 スペル キャンセル系-------------------------- ディスペルマジック・フラッシュデトネイター ダメージ系-------------------------- ジャスティス・フラッシュデトネイター・ゲイボルグ タイダルウェイブ 消滅系-------------------------- ディスペルマジック フレイムストライク ウィンド・カッター 付与系------------------------ プロテクション サンドカーテン リジェネレーション ブラック・フォッグ 変化形------------------------ ポリモルフ グラヴィトン アンラック 緩和系------------------------ マジックシールド 他------------------------ アヴァランチ アイテム 能力の変数----------------------------------------- 範囲枠区別{G,S,I,C,L,D Gamut型(全範囲) ╋╋╋╋ ╋╋╋╋ ╋╋╋╋ ╋╋╋╋ Square型 ┏┳┳┳┳┓ ┣╋╋╋╋┫ ┣╋╋╋╋┫ ┣╋╋╋╋┫ ┣╋╋╋╋┫ ┗┻┻┻┻┛ Isotropic型   ┏┓  ┏╋╋┓ ┏╋╋╋╋┓ ┗╋╋╋╋┛  ┗╋╋┛   ┗┛ Cross型   ┏┓    ┣┫ ┏┳╋╋┳┓ ┗┻╋╋┻┛    ┣┫    ┗┛ Line型   ┏┓   ┣┫   ┣┫   ┗┛ Dot型   ┏┓   ┗┛ } 範囲距離{ ∞〜1 } (必要が無い場合あり) 選択方法{ 1.このユニット(Dot型) 2.範囲内のユニットX体 3.範囲内のユニットすべて 4.範囲内の自軍ユニットX体 5.範囲内の自軍ユニットすべて 6.範囲内の敵軍ユニットX体 7.範囲内の敵軍ユニットすべて 他 範囲内の地形・・・など 範囲内の誰もいない地形・・・など } 対象区別{ このユニット ユニットX体 自軍パーティのすべてのユニット パーティ1つのすべてのユニット すべてのユニット 戦場に存在するすべてのユニット 「攻撃」してきた敵軍ユニットX体 「攻撃」してきたすべての敵軍ユニット? 戦闘スペルを使用したユニットX体 消耗品を使用したユニットX体 特殊能力を使用したユニットX体 ユニット以外系----------------------------------- 自軍パーティが受ける「攻撃」によるダメージ このユニットが存在している地形 このユニットのプレイヤー 敵軍プレイヤー すべてのプレイヤー } 対象数{ ∞〜1 } (必要が無い場合あり) 条件区別{ カードデータ系----------------------------------- 属性:A 種族:A 名前:A 進軍タイプ:A ユニット名:A 攻撃力:A 防御力:A [レベル]がこのユニットの[防御力]以下 状態系----------------------------------- 「自軍領土」に存在している パーティが「後攻」になった このユニットが本陣に存在する 対象ユニットが[X]の効果を受けた このユニットが儀式スペルで死亡したとき、対象ユニットが本陣以外に存在する 手札にこのカードがある 対象地形が「本陣」以外 このユニットを「タイプ:道」の地形か「代理地形」以外に進軍させる } (必要が無い場合あり) 条件数{ ∞〜1(レベルがこの値以下などの場合に使われる) } (必要が無い場合あり) 効果区別{ 攻撃力:+Aする 攻撃力:−Aする [B:このユニットのA]ダメージを与える [AD+B]ダメージを与える 攻撃力+X/防御力+Xする.Xは[]である 攻撃力+A/防御力+Bする. 属性:Aに変更する []に進軍できる [自軍パーティ内の「」のユニット数]ダメージを与える [行動完了]にする Aのダメージでは死亡しない □A(特殊能力)を与える そのプレーヤーの手札に戻す 対象プレイヤーはこのカードを「自軍支配地形」に普通召喚できる 「イニシアチブ:+A」を与える。 対象プレイヤーは「戦闘スペル」の使用を宣言できない 対象ダメージを[−1D]する 対象プレイヤーを「手札上限枚数:+1枚」する 「代理地形」に変更する。 すべての装備品を破棄する。 [火炎:このユニットの防御力]ダメージを与える 対象プレイヤーのイニシアチブ結果に関係なく、「同時攻撃タイミング」になる。 対象ユニットは「タイプ:道」の地形か「代理地形」に進軍できる。 追加の代償として手札すべてを破棄しなければならない。 この効果が発揮された場合、このカードはゲームから除外される。 } 効果数{ ∞〜1(ダメージの値などの場合に使われる) } (必要が無い場合あり) 能力の変数end-------------------------------- char *zoku[] = { /* メッセージ一覧 */ "火", "水", "風", "土", "聖", "魔", }; char *syuzoku[]={ "アクアリウム", "アストラル", "アニマル", "アヌビス", "アンデッド", "インセクター", "インセクト", "ウォーム", "ウルフ", "エイプ", "エルフ", "エンジェル", "オーガ", "オーク", "ガーディアン", "ガネーシャ", "ギルマン", "クラブ", "クリムゾン", "ケイヴマン", "ケット・シー", "ケンタウロス", "コボルド", "ゴブリン", "ゴルゴン", "シャーク", "ジャイアント", "ジョーズ", "スキュラ", "スコーピオン", "スネーク", "スノーマン", "スピリット", "スポーン", "ターマイト", "タイガー", "ダークエルフ", "ダイナソア", "デーモン", "トロール", "ドラゴン", "ドワーフ", "ノルン", "ハーピィ", "ハイインセクト", "ハイエルフ", "ハイオーガ", "ハイオーク", "ハイギルマン", "ハイコボルド", "ハイゴブリン", "ハイスキュラ", "ハイスコーピオン", "ハイスピリット", "ハイトロール", "ハイドラゴン", "ハイドワーフ", "ハイハーピィ", "ハイバードマン", "ハイラクシャーサ", "ハイランダー", "ハイリザードマン", "ハウンド", "ハグ", "バード", "バードマン", "ハーピィ", "バステト", "バット", "フィッシュ", "フロッグ", "プラント", "ベア", "ペンギン", "ホエイル", "ポケット", "マーマン", "マーメイド", "ミノタウロス", "モンスター", "ライオン", "ライカンスロープ", "ラクシャーサ", "ラット", "ラミア", "ラヴァー", "リザード", "リザードマン", "レプタイル", "ワルキュリア", "原生生物", "時間獣", "神性生物", "人間", "精霊神", "魔法生物", "錬金生物", };