1
我在C++中创建Yahtzee。骰子滚动一个数字,并根据滚动的数字,通过从randNum中减去1来创建位置(因为数组基于零)。然后使用该位置,我想增加我的数组中的适当元素,以表示我已经滚动了该特定数字。例如:骰子1,1,1,5,6,4。我的数组应显示:3,0,0,1,1,1。使用我当前的代码,元素不会增加。任何帮助表示赞赏。C++设置私有数组的值
头:
class dice {
public:
dice();
void rollDice();
int getRoll(int diceNumber);
//This is the array that tells us how many of one number we have
//ex) element 4 belongs to the #5 so if there is a 3 stored in element 4 that means we rolled 3 5's
int arrayOfEachNumberRolled[5]{0,0,0,0,0};
~dice();
}
源:
void dice::rollDice(){
//roll a random number and store it in the appropriate location
int randNum;
for(int i = 0; i < 6; i++){
//Get the new random number between 1 & 6
randNum = rand() % 6 + 1;
//set the appropriate dice
if(i == 0){//dice1
dice1->set(randNum);
arrayOfEachNumberRolled[randNum - 1]+=1;
}
else if(i == 1){//dice 2
dice2->set(randNum);
arrayOfEachNumberRolled[randNum - 1]++;
}
else if(i == 2){//dice 3
dice3->set(randNum);
arrayOfEachNumberRolled[randNum - 1]++;
}
else if(i == 3){//dice 4
dice4->set(randNum);
arrayOfEachNumberRolled[randNum - 1]++;
}
else if(i == 4){//dice 5
dice5->set(randNum);
arrayOfEachNumberRolled[randNum - 1]++;
}
else if (i == 5){//dice 6
dice6->set(randNum);
arrayOfEachNumberRolled[randNum - 1]++;
}
}
}
Facepalm表情符号。不能相信我错过了这一点。工作完美。 TY – MattCucco
@MattCucco,别难过。我们大多数人都在那里:) –