• 異世界ファンタジー
  • 現代ファンタジー

『異世界で俺だけがプログラマー』第2部のカードゲームルール。

AIにルールを指示してプログラムを作らせる。
🌟 カード1枚の構成(データ仕様案)
1. 名前(name)
• 文字列
• 例:「火竜」「影の剣士」「森の守護者」

2. ランク(rank)
• F〜A、S の 7段階
• 内部的には数値化しておくと便利(☆1〜7)
3. 特殊能力(abilities)
• 0〜3個
• リスト形式で保持
• 例:
• 「速攻」
• 「貫通」
• 「ドロー+1」
• 「死亡時:敵に2ダメージ」

🌟 データ構造
• デッキ:30枚
• 手札:最大10枚
• 場:最大6枚
• プレイヤーは2人

🎯 ゲーム開始フェーズの流れ(完成版)
1. 各プレイヤーのデッキをシャッフル
2. 各プレイヤーが5枚ドロー
3. 各プレイヤーが手札から最大3枚まで場に出す
4. サイコロで先攻後攻を決める
5. ゲーム開始(turn=1、active_player=先攻)

⚔️ 戦闘ルール(正式仕様)
① 攻撃側が1枚で攻撃する場合
• 攻撃カードの☆ ≥ 防御カードの☆
→ 防御カードは撃破される
• 攻撃カードの☆ == 防御カードの☆
→ 相打ち(両方破壊)
• 攻撃カードの☆ < 防御カードの☆
→ 攻撃失敗(攻撃側だけ破壊)

② 攻撃側が複数枚で攻撃する場合(合計攻撃)
● まず「攻撃側の合計☆」で勝敗を決める
• 攻撃側の合計☆ ≥ 防御カードの☆
→ 防御カードは撃破される
• 攻撃側の合計☆ < 防御カードの☆
→ 攻撃側は全滅(全員破壊)

③ 複数攻撃で勝った場合の“犠牲”ルール
● 犠牲になるカードの数

例:
• 防御☆5 → 犠牲数 = ceil(5/2) = 3
• 防御☆4 → 犠牲数 = ceil(4/2) = 2
• 防御☆3 → 犠牲数 = ceil(3/2) = 2

④ 犠牲にするカードの選び方(重要)
優先順位
1. 弱いカード(☆が低い)から犠牲にする
2. 同じ☆なら、場に出た順(古い順)から犠牲にする
3. 犠牲数を満たすまで破壊する
4. 犠牲数が残っていても、残りカードの☆が犠牲数より大きい場合は犠牲にしない
例:
• 犠牲数 = 3
• 場にあるカード:☆1, ☆2, ☆4
→ ☆1 と ☆2 の2枚だけ犠牲
→ ☆4 は犠牲にしない(☆4 > 残り犠牲数 3)
⚔️ 追加ルール:防御側の場が空ならプレイヤーに直接攻撃

🔥 ターン進行ルール
① 先攻側が攻撃する
• 攻撃処理(1枚 or 複数攻撃)
• 防御側の場が空ならプレイヤーに直接攻撃
② 攻撃が終わったら、相手側(防御側)がカードを1枚ドロー
• 手札は最大10枚
• デッキ切れならドロー不可(後でペナルティをつけてもOK)
③ 相手側は場にカードを出せる(最大6枚まで)
• 出す枚数は自由
• AIならランダム、人間なら選択
• コスト制がないなら「好きなだけ出せる」
• コスト制を後で追加することも可能
④ ターン交代
• active_player を切り替える
• 次のプレイヤーが攻撃フェーズへ
🌟 仕様:撃破されたカードはデッキの最後に戻る
● 破壊されたカードの行き先
• 墓地には行かない
• デッキの末尾(bottom)に戻る
● 戻す順番
複数枚破壊された場合は:
1. 犠牲になった順(弱い順 → 出た順)
2. 相打ちなら攻撃側・防御側それぞれ1枚ずつ
3. 複数攻撃で全滅した場合は場に出た順

なんか作ってしまった。
複雑なルールだとバグてんこ盛りになるので、かなり簡略化してある。

簡略化してもたぶん読んだ人がワケワカメだろうな。
ゲームって本当に難しい。
事務処理と制御系で良かったよ。
こんなの手に余る。

コメント

コメントの投稿にはユーザー登録(無料)が必要です。もしくは、ログイン
投稿する