ゲーム、プレーヤー、カードの 3 つのモデルがあります。
ゲームモデルでは、私は機能しました:
def cards
@cards ||= Card.all.shuffle
end
プレイヤーにカードを配るとき、私は次のことを行います。
player.cards << cards.pop
カード変数を保存しようとしています。更新後、残りのカードから別のプレイヤーに対処できます。
基本的に、私はそのように残りのカードの計算を避けようとしています:
def remain_cards
all_cards = Card.all
table_cards = players.map(&:cards).flatten
all_cards - table_cards
end
それを行う方法はありますか?
これは、ブラックジャック ゲーム、ゲーム サイクルです。
- 人間のプレイヤーがゲームに参加し、ゲームの開始ボタンをクリックすると、Ajax リクエストがサーバーに送信されます
- ゲーム モデルでは、各プレイヤーに 2 枚のカードが配られます。最初はボット プレイヤー、次に人間のプレイヤーです。
- 取引開始後、プレイヤーとそのカードを含むすべてのデータを返送します。
- プレイヤーが「ヒットミー」ボタンをクリックすると、残りのカードからランダムなカードが追加されます