我试图创建一个程序,掷2个骰子,给出die1
和die2
的数量,然后将它们相加。我得到了骰子的随机数,但是当它们相加(总和)时,总数是不正确的。
我尝试过更改faceValue
,numValue
,我已经将总和更改为die1.getFaceValuedie2.getFaceValue
,但总和总是出错。如果有人可以查看代码,看看我是否将其他所有内容放在正确的位置。提前感谢。
package assignment3;
import java.util.*;
public class Die {
private static final int DEFAULT_NUM_FACES =6;
private static final int value = 1;
private static int faceValue;
private static int numFaces;
//die(int, int) method- constructor that initialized the instance variables to the parameter values
public Die(int die1, int die2) {
}
//Die(int) method- constructor that initialized the instance variables faceValue to the parameter value and numFaces to
//DEFAULT_NUM_FACES
public Die(int value) {
faceValue = value;
numFaces = DEFAULT_NUM_FACES;
}
//die() default constructor that initialized both instance variables to DEFAULT_NUM_FACES
public Die() {
this.faceValue=DEFAULT_NUM_FACES;
this.numFaces=DEFAULT_NUM_FACES;
}
//die(die) copy constructor
public Die(Die otherDie)
{
new Die();
}
// getFaceValue() - returns the faceValue of the instance
public int getFaceValue() {
return faceValue;
}
// getNumFaces - return the numFaces of the Die
public int getNumFaces()
{
return numFaces;
}
//setFaceValule - sets face values of the die to supplied value
public int setValue(int faceValue) {
return faceValue;
}
//toString returns a string representation of the face value in the form of (faceValue)
public String toString()
{
String result = Integer.toBinaryString(faceValue);
return result;
}
//Roll - rolls the die to generate a new face value. The instances face value will be set to this new value.
//You can use the random method of the Math class to accomplish this task. The random method generates a random number between 0 and 1.
//by multiplying this number by number of faces, casting the result to an integer and adding one to it.
//you will be able to generate a random number between 1 and numFaces
public int roll()
{
faceValue = (int )(Math.random()*numFaces+1);
return faceValue;
}
public static void main(String[] args) {
Die die1;
Die die2;
int sum;
die1= new Die();
die1.roll();
die2= new Die();
die2.roll();
sum = (die1.getFaceValue())+(die2.getFaceValue()) ;
System.out.println("Toss 0 generated a " + die1.getFaceValue()+ " and a " + die2.getFaceValue() +" for a total of " +sum);
}
}
这应该是掷骰子1,给我骰子1的面值,然后给我骰子2的面值,然后给我两个骰子的总数。
每个骰子
只应调用一次滚筒
。
每次调用滚动
时,它都会创建一个新的随机数并将其分配给 faceValue
die1= new Die();
die1.roll();
die2= new Die();
die2.roll();
然后使用faceValue
sum = (die1.getFaceValue())+(die2.getFaceValue()) ;
我认为你应该有一个实例变量,而不是一个类变量。
基本上,它只是该类的所有对象(实例)共享的那个变量的一个副本。如果该变量被更改,所有其他类对象都将看到更改的。
只需从本地变量中删除“static”关键字。
public class Die {
private static final int DEFAULT_NUM_FACES = 6;
private int faceValue;
private int numFaces;
public Die() {
this.faceValue = DEFAULT_NUM_FACES;
this.numFaces = DEFAULT_NUM_FACES;
}
// getFaceValue() - returns the faceValue of the instance
public int getFaceValue() {
return faceValue;
}
// getNumFaces - return the numFaces of the Die
public int getNumFaces() {
return numFaces;
}
// setFaceValule - sets face values of the die to supplied value
public int setValue(int faceValue) {
return faceValue;
}
// toString returns a string representation of the face value in the form of
// (faceValue)
public String toString() {
String result = Integer.toBinaryString(faceValue);
return result;
}
public int roll() {
faceValue = (int) (Math.random() * numFaces + 1);
return faceValue;
}
public static void main(String[] args) {
Die die1;
Die die2;
int sum;
die1 = new Die();
die1.roll();
die2 = new Die();
die2.roll();
sum = (die1.getFaceValue()) + (die2.getFaceValue());
System.out.println("Toss 0 generated a " + die1.getFaceValue() + " and a " + die2.getFaceValue()
+ " for a total of " + sum);
}
}
祝你愉快..
有人能在这里给我指个正确的方向吗?我的游戏工作完美,但我想添加一些实际的互动/目标。谢谢
我是一个C++初学者,我需要创建一个骰子游戏模拟掷两个骰子。我对头文件的使用感到很困惑。但首先,为什么我需要返回骰子的票面号码?其次,int roll函数做什么?来重置价值观和面孔?如果是,默认值是多少?而最后一个函数骰子(int n),我是否使用这个函数来控制骰子值的最大总和?函数必须有一个具有以下函数的类头文件:
实现多个骰子滚动的效果(摇骰子)。动画效果挺不错,还有声音效果,但有个缺点,就是每次骰子滚动之后停止的位置都是固定的,不能做到随机滚动。希望开发者能继续完善代码。 作者说:中秋将至,做了一个博饼玩具,这是粗略版本,实现基本的功能。小编注:感谢开发者@00001001 发布代码于Code4App.com。 [Code4App.com]
1-4:玩家从1-6随机向前移动 5:玩家从4-11向前移动一个随机量(随机8+4) 6:玩家移动到另一个玩家所在的位置(见下文) 我是新的代码编写(这是我的第四个程序编写),并没有广泛的知识知道什么是错误的。代码不需要熟练地完成,我只想让它正常工作。我们非常感谢您的帮助。 }
我正在用java创建一个掷骰子的应用程序。我有一个掷骰子的“骰子”类,和一个使用“骰子”的多个实例变量的“骰子”类。但是,它只为我的值返回0。骰子类本身可以工作,并且会掷出一个随机数,但是我不知道如何在我的“骰子”类中得到多个掷骰子。感谢任何帮助。 骰子类 模具等级
rollDice( )应使用兰德( )随机生成介于1-6之间的数字 返回兰德( )生成的数字 3)实现一个功能,功能原型为Int ;Playgame( Void ;); 根据用户的赢或输的次数给用户一个适当的消息 返回值为EXIT_SUCCESS 这里是我现在拥有的,但它告诉我有错误。有谁能帮我完成这个任务吗? ^ X.C:10:1:错误:程序中杂散“\240” X.C:12:1:错误:程序中杂