我想在C++中製作一個骰子程序。在那個程序中,我有一個名爲「bool_if」的函數(不要問我爲什麼按照我的方式命名一些東西,我爲我製作了這個程序,而且我不想更改變量/函數名稱)。我希望bool_if()檢查數組中的任何元素是否相同。 很抱歉,如果這沒有意義,這裏的源代碼(我在源代碼中的註釋部分,因爲我想要的):如何檢查數組是否等於任何其他數組C++?
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <unistd.h>
#include <fstream>
using namespace std;
void clear()
{
cout<<"\033[2J\033[1;1H";
}
bool rolled_die[5];
void dice() {
if (die[0] == die[1] || die[0] == die[2] || die[0] == die[3] || die[0] == die[4] || die[0] == die[5]) {
rolled_die[0] = true
}
else if (die[1] == die[2] || die[1] == die[3] || die[1] == die[4] || die[1] == die[5]) {
rolled_die[1] = true
}
else if (die[2] == die[3] || die[2] == die[4] || die[2] == die[5]) {
rolled_die[2] = true
}
else if (die[3] == die[4] || die[3] == die[5]) {
rolled_die[3] = true
}
else if (die[4] == die[5]) {
rolled_die[4] = true
}
}
int finished_score = 0
void bool_if {
if (rolled_die[0] == true || rolled_die[1] == true || rolled_die[2] == true || rolled_die[3] == true || rolled_die[4] == true) {
finished_score++;
}
/* In this part, I need to check if rolled_die[0] is equal to rolled_die[1], or rolled_die[2], etc all the way up to rolled_die[5]. */
int main()
{
srand(time(0));
int die[6] = { (rand()%6)+1,(rand()%6)+1, (rand()%6)+1, (rand()%6)+1, (rand()%6)+1, (rand()%6)+1 };
int bet;
ifstream a_file ("Score.txt");
if (!a_file.is_open()) {
clear();
cout<<"Score file could not be loaded. Maybe file doesn't exist?\n";
return 0;
}
int score;
a_file>> score;
clear();
cout<<"How much would you like to bet?\nRemember, you only have $"<< score <<"!\nEnter your bet: ";
cin>> bet;
if (bet > score) {
clear();
cout<<"You bet more money then you have!\n";
return 0;
}
clear();
cout<<"Rolling...\n";
usleep(0.1 * 1000000);
cout<<"First die: " << die[0] <<"\n";
usleep(1.3 * 1000000);
cout<<"Second die: " << die[1] <<"\n";
usleep(0.3 * 1000000);
cout<<"Third die: " << die[2] <<"\n";
usleep(2 * 1000000);
cout<<"Fourth die: " << die[3] <<"\n";
usleep(0.3 *1000000);
cout<<"Fifth die: " << die[4] <<"\n";
usleep(1.2 * 1000000);
cout<<"Sixth die: " << die[5] <<"\n";
cout<<"\n\nPress enter to see how you fared.";
cin.get();
clear();
return 0;
}
也請告訴函數骰子()不工作。我想要骰子()檢查任何對。
請參閱http://stackoverflow.com/questions/6248044/c-comparing-two-vectors – Joe
任何原因你不只是使用兩個for循環? –
'我不想改變變量/函數名稱'然後你對_my_時間太不靈活! –