Java实战项目(一)——掷骰子

一.项目目标:

丢下两个骰子,若数值的总值为7点,则赢;否则输。

二.项目分析:

项目的操作过程如下:

  1. 定义一个表示骰子的类,能掷出数字及获取当前掷出的数。
  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类有die1、die2两个属性,类型分别为Die类类型,有一个play()方法。play()方法返回一个布尔类型,true表示丢下两个骰子的数值和为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("你输了,再接再厉!");
        }
    }
}

猜你喜欢

转载自blog.csdn.net/i_19970916/article/details/82025295
今日推荐