0

これはグーグルにとって難しい質問です。私が欲しいのは、ユーザーがインベントリ配列に 10 個のアイテムを入力したら、コンソールをクリアしてストーリーを伝えたいということです。試してみましたが、配列を最大10と定義したため、配列にいくつのアイテムがあったとしてもストーリーが表示されます。また、配列内のアイテムをスワップする方法を見つけようとしています。これが意味することは、{item2} y または n と {item that is already in the array} を交換したいかどうかをコンソールにユーザーに尋ねてもらいたいということです。

問題は、ストーリーの例で出力した、配列内の位置だけのアイテム名を表示しないことです。「エンチャントされた剣と交換しますか?」と表示されます。次に、はいを押すと、配列に追加されません。また、とにかくありがとうをバイパスします

  void tellStory(InventoryRecord list[], int& size)
{
    int numOfRecs = size;
    int pos = rand()%numOfRecs; //Generate a random position of the item
    //Generate item to trade, I'll refer to it as "Item
    int TRADE_CHANCE = 0;
    const string str = "Enchanted Sword";
    InventoryRecord recList[MAX_SIZE];
    if (numOfRecs == MAX_SIZE) {
        system("cls");
        cout << "So your ready to begin your quest!" << endl << endl;
        cout << "Before you begin I would like the opportunity to trade you a rare item!" << endl << endl;
        cout << "Would you like to trade" << pos <<  "for" << str  << "?" << endl << endl;
        cout << "Yes or No? ";
        cin >> choice;
      if (toupper(choice) == 'Y') 
    (rand()%100 < TRADE_CHANCE); 
   (recList[pos], str);//Here add the trading stuff, which is some text, user input(y/n) and replacing realist[pos] = Item, etc
     }
     else {
         cout << "Thanks anyways!" << endl << endl;
   system("pause");
  }
  system("cls");
    }
4

1 に答える 1