ランダムマーケット代替アプリケーション[part00]

最近、「ハートオブクラウン」というデッキ構築型カードゲームにハマっております。

基本セットさえ買えば遊べて、継続的な資金投入に嫌気が差してTCGをやめた自分にとってはこの上ないほど相性が良かったです。

ルールの理解にはこちらの動画が参考になりました。

プレイヤーはベーシックマーケットとランダムマーケットから買い物ができます。
ランダムマーケットはコモンカード10種×5とレアカード2種の合計52枚からなるサプライから8種類のカードが出るまで捲ります。
かぶったカードは同じ場所に重ねて置かれます。
プレイヤーのターン終了時に売り切れがあった場合、サプライから補充を行います。
ランダムマーケットには12種類のうち8種類しかマーケットに出ないため、毎回違う試合展開を楽しめるわけです。

ランダムマーケットに並ぶコモンカードは基本セットの場合30種類あり、その中から10種類が選ばれます。
このコモンカードの組み合わせを変えることでゲーム性をガラッと変えてしまうこともできます。

前置きが長くなりましたが、今回はランダムマーケットの以下の機能を代替するアプリケーションを作っていきます。

  1. 勝負に使うコモンカードを10種類選択する
  2. 選ばれたカードを使用したサプライを作る
  3. ランダムマーケットにカードを並べる
  4. カードを購入する
  5. 補充を行う

使用する言語はRubyで、とりあえずはCUIで動かす予定です。
1については公式が推奨するカードセットから選択することにします。
ゆくゆくはGUIを作ってWebアプリケーションとして公開したいなぁ。

これを作成すれば、サプライを作る手間が省けるので、準備時間が短縮できそうです。

とはいえ今の自分のスキルはrubyの初心者本を読み終わって、オブジェクト指向の設計法を勉強しているという段階。
大学ではCだけでオブジェクト指向なんてやらなかったし、Webに関しては、ド素人。
大変だとは思いますが、これをきっかけにプログラミングが上達していくといいなぁと思っています。

次回はクラス設計をしていく予定です。