初めてのポスター。これが間違って行われた場合は親切にしてください。これはJavaクラスの紹介のための完全な開示ですが、私はすでにこのプロジェクトを提出しています。間違いを修正するためにやり直したいだけです。
主な問題は、オブジェクトとクラスの基礎を理解することです。プログラムは Yahtzee の 5 サイコロをシミュレートすることになっています。サイコロ クラスを作成してから、1 から 5 の間でランダムな値をロールする 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;
}
次に、「5 つのサイコロ オブジェクトを保持する」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
ect行で。個々のサイコロに割り当てることができる OneDice オブジェクトの 5 つの個別のインスタンスを作成するにはどうすればよいですか。私はこれが本当に基本的なものであることを知っています. テキストを読み直したり、オンラインで読んだりしましたが、理解できません。前もって感謝します。彼の話題が広すぎないことを願っています:(
完全な手順:
1 つの 6 面サイコロをシミュレートするクラスを作成します。サイコロは 1 から 6 までの値を持つことができます。コンストラクタは、サイコロにランダムな値を設定する必要があります (つまり、サイコロの値が 0 から始まってはなりません)。2 つのメソッドが必要です。ロールと呼ばれる 1 つは、サイコロをランダムに新しい値に設定します。もう 1 つは value と呼ばれ、サイコロの現在の値を返します。
5 つのダイ オブジェクトを保持する Yahtzee という 2 番目のクラスを作成します。5 つのサイコロすべてを振る roll というメソッドを用意します。5 つのサイコロのそれぞれの値を表示する show というメソッドを用意します。
メイン クラスは、5 つのサイコロを振って結果を表示し、ユーザーにもう一度サイコロを振るかどうかを尋ねます。