第一次海报。因此,如果这样做不正确,请善待。完全公开这是一个介绍性的java类但是我已经把这个项目转入我只是想重新设计它来修复我的错误
主要问题只是理解对象和类的基础知识。该程序应该模拟 Yahtzee 5 掷骰子。我需要创建一个骰子类,然后创建 5 个骰子对象,它们在 1 到 5 之间滚动随机值。目前我创建了一个名为 OneDice 的类:
public class OneDice {
private int die; // variable for a dice
public OneDice() {
roll(); //constructor
}
public void roll() {// random
die = (int)(Math.random()*6) + 1;
}
public int value() {
// return the value of the die variable
return die;
}
接下来,我们将创建一个“容纳五个骰子对象”的 Yahtzee 类,这是我创建的:
public class Yahtzee {
private int dice1;
private int dice2;
private int dice3;
private int dice4;
private int dice5;
public Yahtzee(){
yahtzeeRoll(); //constructor
}
public void yahtzeeRoll(){
OneDice diceA = new OneDice();
OneDice diceB = new OneDice();
OneDice diceC = new OneDice();
OneDice diceD = new OneDice();
OneDice diceE = new OneDice();
dice1 = diceA.value();
dice2 = diceB.value();
dice3 = diceC.value();
dice4 = diceD.value();
dice5 = diceE.value();
}
public void printYahtzee(){ //prints the dices and graphics
System.out.println("dice 1 comes up= " + dice1);
System.out.println("dice 2 comes up= " + dice2);
System.out.println("dice 3 comes up= " + dice3);
System.out.println("Dice 4 comes up= " + dice4);
System.out.println("Dice 5 comes up= " + dice5);
}
现在我明白这是可怕的编码。随着dice1 = diceA.value
等线。如何创建可以分配给每个单独骰子的 OneDice 对象的五个单独实例。我知道这是非常基本的东西。我曾尝试重读我的教科书并在线阅读内容,但无法弄清楚。提前致谢。我希望他的话题不要太宽泛:(
完整说明:
创建一个模拟单个六面模具的类。骰子的值可以从 1 到 6。构造函数应将骰子设置为随机值(即骰子不应从零值开始)。它应该有两种方法。一,称为掷骰,随机将骰子设置为新值。另一个称为 value,返回骰子的当前值。
创建第二个名为 Yahtzee 的类,其中包含五个骰子对象。有一个名为 roll 的方法可以掷出所有五个骰子。有一个名为 show 的方法来显示五个骰子中每个骰子的值。
您的主类应该掷五个骰子,显示结果,然后询问用户是否要再次掷骰子。