- ベストアンサー
多人数のじゃんけんプログラム
多人数でのじゃんけんプログラムを作成しています。 設定としては、 自分とコンピュータのじゃんけん大会 コンピュータの参加人数は最大で10人、 コンピュータの参加人数は自分で任意選択(1~10人)、誰か参加するかはランダム 出す手は、(自分の手→任意に選択)(コンピュータの手→参加者ごとにランダムで設定) 自分・コンピュータ(1~10)に固有の名前を与えてそれぞれの勝ち数をカウントする じゃんけん終了後、買った回数順に順位をつけて、1位から順に表示する。 ↑のようなプログラムを作成したいと思っております。 私が悩んでいる点は、じゃんけんの結果判定の方法と勝ち数ごとの順位付け・並び替えの方法です。(全部ですね・・・) 結果の判定方法は、 場に出ている手が2種類なら(勝ちか負け)、1種類・3種類なら(あいこ)とし、 2種類の場合には、出ている手と比較し勝敗判定を行う、 という形がいいのかなと思ってます(javaでどう書けばいいのかはわかりません--;) 並べ替えは、配列をうまく使えばいけるでしょうか? ネットやテキストなどで学習中ですが全体的にわからない点が多く、 考え方(結果判定・順位付け&並び替え)やソースサンプルなどお教えいただけると嬉しいです。 どうぞ宜しくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
参加者をオブジェクトとして捉えるのが良いかと思います。 ================================== 勝敗判定: それぞれの手を何人が出していたかは関係なく、 自分の手と、その場に出ていた手の種類だけで勝敗判定可能です。 参加者に、場に出た手の種類を通知し、 「自分は勝ったか?」を判別し、勝ち数を覚えておいてもらえば、 成績の管理を他で行う必要がなくなります。 ================================== 順位付け: 参加者をオブジェクトとして捉えた場合、 最後の順位付けは、参加者をList化しておいて、 それぞれから申告された勝ち数でソートすれば可能です。 ArrayListに登録されたオブジェクトのソート ということで、 参考URLを記載しておきます。 http://www.atmarkit.co.jp/fjava/javatips/140java030.html
その他の回答 (1)
- askaaska
- ベストアンサー率35% (1455/4149)
考えられるやり方は沢山あるわね。 でもそれほど難しくなさそうだけど。 とはいえ全部教えろというのはあまりにも大変すぎるわよ。 > サンプルソース アルゴリズムが決定していないのに サンプルソースを貰っても意味ないわね。 まずはどのような流れにするか決めないといけないわ。 最初にするべきは設計よ。 紙と鉛筆を持ってどのような流れで何が行われるのかを 図示する所からはじめるの。 実装として実現可能不可能は一切考えず どのような処理フローならできそうかを考えるの。 まずはそこから。