0
0

【PHP】トランプの戦争ゲームで、手札からカードを出したり戻したりする

Last updated at Posted at 2024-08-03

はじめに

トランプゲームの戦争で、
手札からカードを引く、戻すを行った方法を学習用にまとめた。

結論

array_shift, array_pushを使って実装した。
array_push関数で手札配列の末尾にカードを追加し、array_shift関数で先頭からカードを出すイメージです。

array_shift
配列の先頭から要素を一つ取り出す
array_push
一つ以上の要素を配列の最後に追加する

array_pushとarray_shiftの組み合わせで、キュー(先入れ先出し)のデータ構造を表現できる
※array_pushはブラケット構文でも可

詳細

戦争は、プレイヤーが手札からカードを出し合って、カードのランクを比べて強いカードを出したほうが勝ちとなります。勝ったプレイヤーはカードをもらい、引き分けの場合はカードを手札に戻します。
以下、作成したプログラムのクラス図の抜粋です。

手札からカードを引くは、array_shift

public function drawCard() 
{
    return array_shift($this->cards);
}

手札にカードを戻すは、array_push(ブラケット構文でも可)

public function addCard(Card $card) 
{
    array_push($this->cards, $card);
}

参考記事

array_shift
array_push
独習PHP 第3版

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0