Java実戦種目(一)——サイコロを投げる

3816 ワード

一.プロジェクト目標:
2つのサイコロを捨てて、数値の総額が7時であれば、勝つ.さもないと負ける.
二.プロジェクト分析:
プロジェクトの操作手順は次のとおりです.
  • サイコロを表すクラスを定義し、数字を投げ、現在の投げた数を取得することができる.
  • は別のクラスを定義し、このクラスでサイコロクラスの2つのオブジェクトを確立し、投げたときに2つのサイコロの数値の総額が7であるかどうかを判断し、成功したかどうかを決定する.
  • は、3番目のクラスを定義し、以上の操作をテストします.

  • 三.コード構想と実現:
    1.コード構想
    (1)定義DieクラスDieクラスはサイコロにfaceValue属性があり,整数であることを示す.DIeクラスにはroll()メソッドとgetFaceValue()メソッドがあります.roll()メソッド機能はfaceValue属性を1~6のランダム値に設定し、戻り値はありません.getFaceValue()メソッド機能はfaceValue値を取り出すことです.本クラスではMathが使用する.random()メソッドでは、乱数を取る機能を実現し、戻り値はdoubleタイプ、値の範囲は0.0~1.0です.
    (2)定義DieGameクラスDieGameクラスにはdie 1,die 2の2つの属性があり,タイプはそれぞれDieクラスタイプであり,play()メソッドがある.Play()メソッドはブールタイプを返し、trueはサイコロを2つ捨てる数値と7、そうでなければfalseを表す.
    (3)テストクラスDieTestを作成し,上で定義したクラスをテストmain()メソッドでDieGameオブジェクトを生成し,play()メソッドを実行すると勝ち負けを示す.
    コード実装
    1.Dieクラス
    package    ;
    
    import java.util.Random;
    
    public class Die {
        private int faceValue;
        public void roll() {
            Random random = new Random();
            this.faceValue = Math.abs(random.nextInt()) % 6 + 1;  // 1~6     
        }
    
        public int getFaceValue() {
            return this.faceValue;
        }
    }
    

    2.DieGame類
    package    ;
    
    public class DieGame {
        public Die die1 = new Die();
        public Die die2 = new Die();
        public boolean play() {
            boolean flag = false;
            die1.roll();
            die2.roll();
            System.out.println(die1.getFaceValue());
            System.out.println(die2.getFaceValue());  //         
            int num = die1.getFaceValue() + die2.getFaceValue();
            if (num == 7) {
                flag =true;
            } else {
                flag = false;
            }
            return flag;
        }
    }
    

    3.試験類DieTest類
    package    ;
    
    public class DieTest {
        public static void main(String[] args) {
            DieGame dieGame = new DieGame();
            if (dieGame.play()) {
                System.out.println("   !");
            } else {
                System.out.println("   ,    !");
            }
        }
    }