我在Mac OS Sierra上使用Eclipse 4.6.3。
所以我有这段代码:
int main()
{
int GameState = ROOM1;
int iRoomCounter[4] = {0,0,0}; // Used to determine if a room has been visited.
string choice;
char Name[25];
cout << "!!!Hello World!!!" << endl;
cout << "Enter Your Name!" << endl;
cin >> Name;
cout << "Thank you " << Name << ". You will not be forgotten." << endl;
while(GameState != DEATH)
{
switch(GameState)
{
case ROOM1:
{
if (iRoomCounter[0] == 0)
{
cout << "\n One day, " << Name << " was walking through a field and spotted a little Ejay." << endl;
cout << Name << " also spotted a cat. He wanted to pet both, but he could only pet one." << endl;
iRoomCounter[0] = 1;
}
cout << "\nWhich one will he pet?" << endl;
cout << "Ejay" << endl;
cout << "Cat" << endl;
cout << "-> ";
cin >> choice;
if(choice == "Ejay" || choice == "ejay")
{
cout << "He pet Ejay" << endl;
}
}
}
}
}
我想随机化某些输出,例如: 如果我选择“Ejay”,我想要么说“他宠物Ejay”或“Ejay逃跑了”。或者“Ejay死了。”我不知道该怎么做。有人会如此善意地在我的代码中实现一种方法吗?提前谢谢。
谢谢大家!
答案 0 :(得分:0)
答案1:int randNum = rand() % 3
创建一个随机数0-2,然后您可以使用它来编号以选择数组内的字符串。 EX:
string randString[3] = {"hi","Hello","Sup"};
答案2:您只需编译代码即可创建“应用程序”。从终端编译代码的常用方法是'G ++ filename.cc -o desiredname'
**编辑:如果您正在尝试使用游戏完成GUI,那么使用c ++非常具有挑战性。您可能最好不要研究其他语言或框架来使用。
答案 1 :(得分:-1)
这样做的方法是使用随机数生成器。最简单的一个,但不是最好的,是rand()
。当然,有更好的随机数生成器,如std::mt19937
,但我只是保持这个简单。
rand()
将返回一个随机整数,您可以使用模(%
)运算符将其缩小到一个小范围。
switch ( rand() % 3 )
{
case 0:
cout << "He pet Ejay" << endl;
break;
case 1:
cout << "Ejay ran away." << endl;
break;
case 2:
cout << "Ejay died." << endl;
break;
default:
break;
}
对于第二个问题,请尝试在IDE上找到构建或编译按钮。我对Eclipse的界面并不太熟悉,但要弄清楚如何编写代码并不是很难。