- 1125/09/29(月) 18:34:27
- 2125/09/29(月) 18:36:48
事の発端はこのスレ
個人的にこういうカードゲームがあったらいいなっていうモノなんだけど|あにまん掲示板DCGカードの種類が文字通り星の数ほどあって、デッキ制作の再現性がほぼ皆無パックを開けても開けても同じカードが出てくることはない(ただし一度手に入れたカードはポイントで複製可能)一期一会で出会ったカー…bbs.animanch.com自分はこのスレの1ではないけど、「カードがすごいいっぱいあるカードゲーム」ってのはちょっと面白く思った
しかしカードをたくさん作るのは時間がかかるので、どうにかしてプログラムで作れるようにしたい
そう考えてpythonを取り出した
- 3125/09/29(月) 18:38:10
- 4125/09/29(月) 18:41:16
まずはカードゲームのルールを作ろう
ここは重要じゃないのでさっさと決めてAIに要約を頼んだのがこちら
モンスターの戦闘ルールとかバトルフェイズ云々を決めるの面倒だから呪文だけしかないカードゲームを作ることにする
ルール概要(最新版)
デッキ:10種×3枚=30枚
初期手札:4枚
ライフ:30(上限30)
ターン進行
スタート:1ドロー、マナ+3(後攻初ターンのみ+4)。未使用マナは持ち越し可能。
メイン:マナを支払い魔法カードを使用、効果解決後墓地へ。
エンド:ターン終了。
その他
山札切れ時は墓地を山札に戻してシャッフル。
相手のライフを0にしたら勝利。 - 5125/09/29(月) 18:49:43
次にpythonくんにカードの画像を書いてもらう
テキストファイルに別途カード名とか効果を書いておいて、それをjpg画像にしてもらうというプログラムをAIで作る - 6125/09/29(月) 18:51:10
- 7二次元好きの匿名さん25/09/29(月) 18:54:11
python君でカード画像作れるんだ
勉強がてらにやってるのかな? - 8125/09/29(月) 18:54:49
次に、コストと効果テキストの組み合わせを自動で作ってくれるプログラムをAIに出してもらう
こんな感じの長文の命令文により一発でちゃんと動くpythonプログラムを生成できた
カードのテキストを自動で作るプログラムを作る。手順はこう。
まず最初にcardtext.txtを作る。
①1-8の中の数字1つを選ぶ。それはカードのコストである。
②コスト×100の「ポイント」を得る。
③乱数によって数字を2個選択。
乱数は効果を選択する。効果には効果ポイントが割り振られている。例えば
乱数:3
効果ポイント:50
効果テキスト:相手に2ダメージ。
と言う風に。乱数を2個選択するので、カード1枚あたりには効果テキストが2個ある。
④乱数によって設定された効果の効果ポイントの合計が、②で得られた「効果ポイント」と10以上の差がある場合、③からやり直す。もし無い場合は、選んだ効果の効果テキスト2つをつなげた文字列をカードの効果テキストとし続行。
⑤魔法系統を決定。「火魔法」「水魔法」「地魔法」「風魔法」の4種類からランダムに1つを選んで決定。
⑥今、カードのコスト、効果テキスト、魔法系統を決定した。カード名は「仮」とする。cardtext.txtの1~4行目にこれの結果を書き込む。
⑦以降同様にして2枚め、3枚め…とカードを作成し、5行目以降に情報を書き込む。100行目まで作成すること。 - 9125/09/29(月) 18:58:15
カードのコストをランダムにまず決めてから
効果を数値で表して予めプログラムに登録し、そこから2つ引っ張ってコストに見合った効果になるように自動調節してくれる
これでカードの生成と、カード効果の生成の双方がうまくいった - 10125/09/29(月) 19:01:18
- 11125/09/29(月) 19:08:12
実行速度から考えると1万枚カードを作っても10分かからず、300MB程度のデータでしかないから作れる
カード名はもう考えるのがめんどくさいので使う人が勝手に名前を考えていいことにすれば簡単だ
しかしプレイ環境をどうするかだけが課題かな…discordかudonariumあたりか
おしまい