課題20:じゃんけん


プログラムファイル名::JanKen.java
クラス名::JanKen

課題の目標
  1. メソッドの使い方を学ぶ。
  2. 手順を考える力を養う。
  3. 判断や繰り返しの使い方を学ぶ。
  4. 配列の使い方を学ぶ。

課題内容
  1. コンピュータとじゃんけんをするプログラムを作成して下さい。
  2. じゃんけんは複数人で複数回行ない、決められた人数の人を選択する方法です。
    しかし、このプログラムでは、コンピュータとあなたが1対1の勝負をすることにします。それも真剣に。
    いつもプログラムが勝つとか、いつも人間が勝つプログラムではありません。本当の勝負をするプログラムを作成して下さい。
  3. すでにご存知でしょうが、じゃんけんのルールは次のようなものです。
    以下は縦が人間で横がコンピュータとして、人間を中心に勝負を書いています。

    グー(g)チョキ(c)パー(p)
    グー(g)分け 勝ち 負け
    チョキ(c)負け 分け 勝ち
    パー(p)勝ち 負け 分け

  4. 処理の大まかな手順は、次の通りです。
    1. 最初に勝負回数を入力させ(以下の例では3を入力)、そのあとで、ルールを表示しておきます。
      そのあとでじゃんけんを始めます。
      例えば次のように
         *******
          じゃんけんをしましょう!
         *******
      何回勝負にしますか?
      3
      
      ============================================
      グー の場合は、gを入力して下さい。
      チョキの場合は、cを入力して下さい。
      パー の場合は、pを入力して下さい。
      ============================================
      
      あなたの手は?     p
      コンピュータの手は g
      あなたの勝ち
      
      あなたの手は?     g
      コンピュータの手は g
      あいこです
      
      あなたの手は?     c
      コンピュータの手は p
      コンピュータの勝ち
      
      あなたの手は?     c
      コンピュータの手は p
      あなたの勝ち
      
      2対1で、あなたの勝ち
      
      
    2. g か c か p のどれかを入力させる。これ以外のものを入力した場合は、やり直しをさせて下さい。
    3. コンピュータに乱数を発生させて、上記3つ(g, c, p)のうちどれかを決定することにします。
      乱数を発生させるメソッドは以下です。

      メソッド名処理内容
      idt=Math.random()0.0から1.0未満の乱数をidtに代入する

    4. 上記の乱数発生メソッドを使って、1、2、3のどれかの数値をランダムに発生させるには、次のようにすると便利です。
      
      int x=(int)(Math.random()*3)+1;
      
      
      上記により、x には1、2、3のどれかの数値が代入されます。
      これを1ならグーとか、2ならチョキ、3ならパーと決めると、コンピュータの手が決まります。
    5. じゃんけんのルールに従って、その都度次のように表示して下さい。
      • 分けの場合は、「あいこです」
      • 負けの場合は、「わたしの勝ちです」
      • 勝ちの場合は、「あなたの勝ちです」
    6. 自分とコンピュータのそれぞれの勝ち数をカウントしておきます。
    7. 勝ち数の合計が、勝負回数と等しくなるまでじゃんけんを繰り返します。
    8. 勝負回数ほどじゃんけんをしたら、勝ち数の多い方を「○対○で△△△が勝ち」、同じ場合は「○対○であいこです」と表示して
      プログラムを終了することにします。
    9. 上記の日本語で書いているメッセージは、簡単な英語にして下さい。

作成の手引


【〆切】
2008年2月?日(?)

【提出物】
レポートとして、以下のものを提出してください。


プログラミング演習 / 江木 / egi@ube-c.ac.jp