
多人数でのじゃんけんプログラムを作成しています。
設定としては、
自分とコンピュータのじゃんけん大会
コンピュータの参加人数は最大で10人、
コンピュータの参加人数は自分で任意選択(1~10人)、誰か参加するかはランダム
出す手は、(自分の手→任意に選択)(コンピュータの手→参加者ごとにランダムで設定)
自分・コンピュータ(1~10)に固有の名前を与えてそれぞれの勝ち数をカウントする
じゃんけん終了後、買った回数順に順位をつけて、1位から順に表示する。
↑のようなプログラムを作成したいと思っております。
私が悩んでいる点は、じゃんけんの結果判定の方法と勝ち数ごとの順位付け・並び替えの方法です。(全部ですね・・・)
結果の判定方法は、
場に出ている手が2種類なら(勝ちか負け)、1種類・3種類なら(あいこ)とし、
2種類の場合には、出ている手と比較し勝敗判定を行う、
という形がいいのかなと思ってます(javaでどう書けばいいのかはわかりません--;)
並べ替えは、配列をうまく使えばいけるでしょうか?
ネットやテキストなどで学習中ですが全体的にわからない点が多く、
考え方(結果判定・順位付け&並び替え)やソースサンプルなどお教えいただけると嬉しいです。
どうぞ宜しくお願いいたします。
No.2ベストアンサー
- 回答日時:
参加者をオブジェクトとして捉えるのが良いかと思います。
==================================
勝敗判定:
それぞれの手を何人が出していたかは関係なく、
自分の手と、その場に出ていた手の種類だけで勝敗判定可能です。
参加者に、場に出た手の種類を通知し、
「自分は勝ったか?」を判別し、勝ち数を覚えておいてもらえば、
成績の管理を他で行う必要がなくなります。
==================================
順位付け:
参加者をオブジェクトとして捉えた場合、
最後の順位付けは、参加者をList化しておいて、
それぞれから申告された勝ち数でソートすれば可能です。
ArrayListに登録されたオブジェクトのソート ということで、
参考URLを記載しておきます。
http://www.atmarkit.co.jp/fjava/javatips/140java …
No.1
- 回答日時:
考えられるやり方は沢山あるわね。
でもそれほど難しくなさそうだけど。
とはいえ全部教えろというのはあまりにも大変すぎるわよ。
> サンプルソース
アルゴリズムが決定していないのに
サンプルソースを貰っても意味ないわね。
まずはどのような流れにするか決めないといけないわ。
最初にするべきは設計よ。
紙と鉛筆を持ってどのような流れで何が行われるのかを
図示する所からはじめるの。
実装として実現可能不可能は一切考えず
どのような処理フローならできそうかを考えるの。
まずはそこから。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java 石取りゲーム 3 2023/02/02 15:46
- 情報・ワイドショー フジテレビ系「めざましじゃんけんキーワード」は4種類あるがどのような仕組みで割り当てられるのか? 2 2023/06/08 08:47
- その他(メールソフト・メールサービス) Windows10付属のメール、なぜ設定が劇的に簡単になったのか? 1 2022/12/16 13:14
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- Excel(エクセル) Excelで漢字人名が勝手に並び変わる 2 2023/01/14 22:14
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- 数学 『最後の自然数はどんな数か』 3 2023/06/26 20:38
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 1 2022/06/18 21:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Listに格納されているオブジェ...
-
StringBuilderのマルチスレッド
-
オブジェクト指向とは何ぞや…
-
パワーポイントのVBAでテキスト...
-
Excelで =EMBED("Acrobat Docu...
-
VBAのWindowオブジェクトとWork...
-
自動クリックの処理について
-
newは明示的にした方が良いのか?
-
C#でフォームのオブジェクト名...
-
ASP.net 教えてください!!(...
-
JSPのout.printについて
-
javascript 例外処理
-
error C2712: オブジェクト ア...
-
Object型からDouble型へのキャスト
-
オブジェクト指向
-
VBAからノーツを起動
-
MapViewOfFile() はカウンタを...
-
Vbで通常使用するプリンターを...
-
CFileDialogでフォルダだけを選...
-
戻り値がクラスオブジェクト
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで =EMBED("Acrobat Docu...
-
パワーポイントのVBAでテキスト...
-
EXCEL VBAにて動的にCheckBOXを...
-
VBA 同じ名前のオブジェクトを...
-
C#でフォームのオブジェクト名...
-
VBAのWindowオブジェクトとWork...
-
ビジュアルC++でボタンの有...
-
COMコンポーネントって何?
-
CoCreateInstanceでエラーになる。
-
ワイルドカード<?>と型パラメー...
-
戻り値がクラスオブジェクト
-
error C2712: オブジェクト ア...
-
Vbで通常使用するプリンターを...
-
質問すいません。 javascriptの...
-
Object型からDouble型へのキャスト
-
Accessの連結・非連結オブジェ...
-
オブジェクトレベルとメタレベル
-
C++でのクラスオブジェクトの破棄
-
時間帯判定をする。
-
VBAでvlookup関数から、別シー...
おすすめ情報