オーラス麻雀ゲーム開発日記構想から現在までの開発記録を、公開順にまとめています。

開発日記一覧
オーラスの条件戦だけを繰り返し遊べる麻雀ゲームの開発記録です。TypeScript・Reactを使い、点数管理や順位計算から少しずつ制作しています。
前回までの進捗
前回は、麻雀ライブラリを導入して牌山を作り、そこから1枚ツモできるところまで確認した。
今回は、その牌山を使って実際の対局開始に近い形まで進める。
4人分の手牌を用意する
まずは東家・南家・西家・北家それぞれの手牌を用意する。
最初は全員空の状態から始めて、牌山から順番に牌を取り出し、4人へ13枚ずつ配る形にした。
東家 13枚
南家 13枚
西家 13枚
北家 13枚
これで合計52枚が配られる。
親だけ第一ツモを追加する
今回は南4局を想定しているので、親は北家として扱っている。
4人へ13枚ずつ配ったあと、親だけさらに1枚ツモする。
そのため、
東家 13枚
南家 13枚
西家 13枚
北家 13枚 + 第一ツモ1枚
という状態になる。
これで、実際に親が最初の打牌を選べる直前まで進められるようになった。
配牌が正しいかテストする
配牌処理は、ぱっと見では正しく動いているか判断しづらい。
そこでテストでは、
- 4人全員が13枚持っている
- 親の第一ツモが1枚ある
- 配牌された牌が有効な牌コードになっている
- 同じ種類の牌が5枚以上存在しない
- ドラ表示牌が1枚ある
といった点を確認している。
さらに、配牌52枚と親の第一ツモ1枚を取り出したあと、残り牌数が69枚になっていることも確認した。
配牌をひとまとまりで扱う
今回、配牌結果は
- 4人分の手牌
- 親の席
- 親の第一ツモ
- 残り牌数
- ドラ表示牌
をひとつのデータとして返すようにした。
こうしておけば、このあと画面へ表示したり、打牌処理へ渡したりするときにも扱いやすい。
少しずつ「対局」らしくなってきた
これまでは点数条件を計算する処理が中心だった。
今回からは、
牌山を作る
↓
4人に配る
↓
親が1枚ツモる
という、実際の麻雀の流れが少しずつ形になってきた。
まだプレイヤーが牌を切るところまではできていないが、対局開始時の状態は作れるようになった。
今回できたこと
今回の進捗は以下のとおり。
- 4人分の手牌を用意した
- 各プレイヤーへ13枚ずつ配牌した
- 親の第一ツモを追加した
- 残り牌数を取得できるようにした
- 配牌内容が正しいかテストを追加した
次回は、この手牌を画面で扱いやすくするために、牌コードを「一萬」「東」「赤五筒」のような表示へ変換し、麻雀らしい順番に並べられるようにする。
ライブラリの仕様を把握するのに時間がかかって、進捗牛歩。でも一歩。
牛一。
コメント