2017-06-15 56 views
-1

我在Mac OS Sierra上使用Eclipse 4.6.3。如何随机化C++中的输出

所以我有这样的代码:

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; 
       } 
      } 
     } 
    } 
} 

我有两个问题。如果你只回答一个问题,那很好。但我想有人回答另一个问题。

  1. 我想某些随机的输出,例如: 如果让我选择“EJAY”,我想它要么说“他EJAY宠物”或“跑EJAY离开。”或“Ejay死了”。我不知道该怎么做。有人会在我的代码中实现这种方式吗?先谢谢你。

  2. 我一直在努力弄清楚如何将我的代码导出到应用程序中。我研究过,没有找到任何东西。我在Mac上使用Eclipse,这可能是原因之一。有人会告诉我该怎么做吗?

谢谢大家!

+1

***我有两个问题。如果你只回答一个问题,那很好。但是我希望有人回答其他问题。***通常,每个问题的StackOverflow是1个问题,特别是当主题完全不同时。 – drescherjm

+0

***我一直在努力弄清楚如何将我的代码导出到应用程序中。***我不知道这个问题是什么意思。我的意思是你的代码看起来像一个应用你想为你的应用程序创建一个安装程序吗? – drescherjm

+1

你可能会想过它。您可以使用随机数字帮助您在字符串A或字符串B之间进行选择,然后将其用作响应。 – gavsta707

回答

-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的界面不太熟悉,但要弄清楚如何编译代码并不难。

+0

非常感谢@Xander Kyle Puckett,非常感谢! – Ejay

0

回答1:int randNum = rand() % 3创建一个随机数字0-2,然后可以用它来选择一个数组中的字符串。 EX:

string randString[3] = {"hi","Hello","Sup"}; 

回答2:您需要简单编译您的代码以创建“应用程序”。从终端编译代码的常见方法是'G ++ filename.cc -o desiredname'

**编辑:如果你正在尝试用你的游戏来完成一个GUI,这对于C++来说是非常具有挑战性的。研究其他语言或框架可能会更好。