21xrx.com
2024-11-05 19:44:28 Tuesday
登录
文章检索 我的文章 写文章
用Java编写一款简单好玩的骰子游戏
2023-06-15 13:26:02 深夜i     --     --
Java编程 掷骰子游戏 随机数生成

在本文中,将介绍如何使用Java编写一款简单又好玩的骰子游戏,通过随机生成骰子点数来模拟掷骰子的效果。首先,需要定义一个名为Dice的类,如下所示:


import java.util.Random;

public class Dice {

  private int faceValue;

  private Random random;

  public Dice() {

    this.faceValue = 1;

    this.random = new Random();

  }

  //掷骰子

  public void roll() {

    this.faceValue = random.nextInt(6) + 1;

  }

  //获取骰子点数

  public int getFaceValue()

    return faceValue;

  

}

在这个类中,我们定义了一个面值变量和一个Random对象,通过roll()方法来随机生成1~6的整数作为面值,通过getFaceValue()方法来获取骰子当前的面值。

接下来,我们可以编写一个名为Game的类来实现游戏逻辑,如下所示:


public class Game {

  private Dice[] dices;

  private int numDice;

  public Game(int numDice) {

    this.numDice = numDice;

    this.dices = new Dice[numDice];

    for (int i = 0; i < numDice; i++) {

      dices[i] = new Dice();

    }

  }

  //掷所有骰子

  public void rollAll() {

    for (Dice dice : dices) {

      dice.roll();

    }

  }

  //获取所有骰子点数和

  public int getSum() {

    int sum = 0;

    for (Dice dice : dices) {

      sum += dice.getFaceValue();

    }

    return sum;

  }

}

在这个类中,我们定义了一个骰子数组和骰子数量变量,通过rollAll()方法来掷所有骰子,通过getSum()方法来获取所有骰子点数和。

最后,我们可以编写一个名为Main的主类来实现游戏运行,如下所示:


import java.util.Scanner;

public class Main {

  public static void main(String[] args) {

    Scanner scanner = new Scanner(System.in);

    System.out.print("请输入骰子数量:");

    int numDice = scanner.nextInt();

    Game game = new Game(numDice);

    while (true) {

      game.rollAll();

      int sum = game.getSum();

      System.out.println("本次掷骰子点数和为:" + sum);

      System.out.print("是否继续游戏?(y/n) ");

      String choice = scanner.next();

      if (choice.equalsIgnoreCase("n"))

        break;

      

    }

  }

}

在这个类中,我们通过Scanner来获取用户输入的骰子数量,并通过Game类来实例化一个游戏对象。然后,我们进入一个无限循环,在每次循环中掷所有骰子并获取点数和,然后询问用户是否继续游戏,如果选择“n”,则退出循环,否则继续游戏。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复
    相似文章