マルチプラットフォーム対応であれば良いならgolangやHaskellも一つの選択肢だと思う。 ただし以下の観点からオフィシャルのクライアントには向かない。
- プログラミング初学者向けの言語ではない
- 開発環境の導入が大変(特にHaskellはdependency hellとかヤバそう)
各クライアントは自分の手札
- 自分の手番。カードと場の状況を受け取って役を返す。
AvailableCardSet -> FieldStatement -> PlayerParameter -> (Meld OtherParameter)
- 他の人の手番。他人の役を受け取る。
Meld -> PlayerParameter -> OtherParameter