メンチン待ち当てゲームを作ってみた
こちらの続編になります。
コードはこちら(割と前回のコードを使いまわししてます。)
やったこと
前回のシャンテン数のプログラムをベースにしました。
判定の仕方について
- 13枚分でテンパイかどうかを判定
- 1マン~9マンまでをそれぞれ1枚加えた場合に上がりかどうかを判定
- その上がり牌のリストと、回答したリストが一致しているかをで正解かどうかを判定
上がり判定について
基本はシャンテン数が「-1」であれば上がりです。ただし、「メンツ」が4つでかつ、「ターツ」が一つの場合も、-1となりますのでこの場合は上がりでないという処理を追加しています。(0としています)
外部からの入力について
BufferedReader bin = new BufferedReader(new InputStreamReader(System.in));
String answer = bin.readLine();
こんな感じで、入力を受け付けることができたので、入力値を配列に分解して上がり牌かどうかを判定しました。
回答時間について
long start = System.currentTimeMillis();
これで簡単に現在時刻を取得できたので楽にできた!
おまけ
元々のプログラムがシャンテン数を計算するためのプログラムだったので、所々決め打ちしてた影響で、シャンテン計算のやり方も修正が必要だった。
計画性って大事ね!
後、意外とメンチンって13枚そろってもテンパイしないのな・・・。
>からの次のネタが決まりました!