2025 ソフトウェア設計及び演習用の班Wiki
25::gr01::進捗
役の判別
ステップ1:手牌のデータ構造設計
まずは、手牌をどのようにプログラム上で表現するかを決めます。
代表的な表現方法:
文字列方式(例: '1m', '2m', '3m', '4p', '5p', '6p', '7s', '8s', '9s', '東', '東', '東', '白')
数値コード方式(例: 0~33で牌を番号付けし、牌山を管理しやすくする)
# 例: 数値で牌を表現(0〜33)
# 0〜8: 萬子 (1m〜9m)
# 9〜17: 筒子 (1p〜9p)
# 18〜26: 索子 (1s〜9s)
# 27〜33: 字牌(東南西北白發中)
ステップ2:手牌の解析ロジック
目標:
手牌が「アガリ形(和了形)」になっているか確認(4面子+1雀頭)
面子の種類を特定(順子・刻子・槓子)
方法:
再帰的バックトラッキングで4面子+1雀頭になるパターンを探索
またはテンプレートマッチングで和了形のパターンに当てはめる
最終更新日:2025/05/09 14:56:11