Java项目实战精编
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 代码思路及实现

1.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类有die1、die2两个属性,类型分别为Die类类型,有一个play()方法。play()方法返回一个布尔类型,true表示丢下两个骰子数值的总值为7点,否则为false。

3.编写一个测试类DieTest,对上面定义的类进行测试

main()方法中产生DieGame对象,执行play()方法后显示出输赢。

1.3.2 代码实现

1.Die类

        import java.util.*;
        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类

        public class DiceGame {
          public Die die1=new Die();
          public Die die2=new Die();
          public boolean play()                        //掷骰子,两粒骰子数相加得7为true, 否则为false
          {
            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

        public class DieTest {
          public static void main(String[] args) {
            DiceGame dg=new DiceGame();
            if(dg.play())
            {
              System.out.println("您赢了!");
            }
            else
            {
              System.out.println("您输了, 请下次努力!");
            }
          }
        }