在 C++ 中用循环构建和生成一副纸牌

Structuring and generating a deck of cards with a loop in c++

它在 c++ 中

我的想法是对其进行设置,使其不断循环遍历所有卡片以不断获得不同的结果和答案,直到所有 52 张卡片都消失了我不知道它的确切位置我知道它

for(int i = 0; i < 5; i++) 
   {
     cout << i << endl;
   }

我不太确定如何设置数组如果我只是像字符串 {ace, one two} 等等那样设置..但是我有标记为 52 的数组,即使将它们全部输入它只有 13数字在 4 套花色中重复了 4 次,所以你会class 把它们分开吗?或者有什么用吗?

#include <iostream>
using namespace std;
class cardGame;

int main()
{
    int bet;
    int dealer[52] = { 13, 13, 13, 13 };
    int player[52] = { 13, 13, 13, 13 };
    int dealerCard1;
    int dealerCard2;
    int playerCard1;
    int playerCard2;
    int dealerTotal;
    int playerTotal;
    int shuffle;

    cout << "This is My attempt at BlackJack" << endl;
    cout << endl;
    cin >> bet;
    cout << "Player enter amount to bet: $ ";
    cout << endl;
    cin >> shuffle;

    cardGame::playeer(playerCard1 + playerCard2 = playerTotal);
    cardsGame.playerCard1 = 0;
    cardsGame.playerCard2 = 0;
    cardsGame.playerTotal = 0;


    cout << "the First card is: " << cardsGame.playerCard1 = 0 << endl;
    cout << "The second card is: " << cardsGame.playerCard = 0 << endl;
    cout << "Your total is: " << cardsGame.playerTotal = 0 << endl;
    cardGame::playeer(playerCard1 + playerCard2 = playerTotal);

    if (playerCard1 + playerCard2 == 21)
    {
        cout << "WINNER WINNER CHICKEN DINNER!" << endl;
    };
    else (playerCard1 + playerCard2 > 21)
    {
        cout << "What a dissapointment you are to everyone!" << endl;
    };
    if (playerCard1 + playerCard2 > dealerTotal)
    {
        cout << "WINNER WINNER CHICKEN DINNER!" << endl;
    };
    else (playerCard1 + playerCard2 == dealerTotal)
    {
        cout << "What a dissapointment you are to everyone!"
    }


    cardGame::dealer(dealerCard1 + dealerCard2 = dealerTotal);
    cardsGame.dealerCard1 = 0;
    cardsGame.dealerCard2 = 0;
    cardsGame.dealerTotal = 0;



    cout << "the First card is: " << cardsGame.dealerCard1 = 0 << endl;
    cout << "The second card is: " << cardsGame.dealerCard2 = 0 << endl;
    cout << "Your total is: " << cardsGame.dealerTotal = 0 << endl;
    cardGame::dealer(dealerCard1 + playerCard2 = playerTotal);

    if (dealerCard1 + dealerCard2 == 21)
    {
        cout << "What a dissapointment you are to everyone!" << endl;
    };
    else (dealerCard1 + dealerCard2 > 21)
    {
        cout << "WINNER WINNER CHICKEN DINNER" << endl;
    }
    if (dealerCard1 + dealerCard2 > playerTotal)
    {
        cout << "What a dissapointment you are to everyone!" << cout endl:
    };
    else (dealerCard1 + dealerCard2 < playerTotal)
    {
        cout << "What a dissapointment you are to everyone!"
    }


}

我不懂c++(或blackjack);但下面是一个 in Javascript 的示例,它说明了一些概念,可能会推动您朝着正确的方向前进。

就结构而言,您可能需要这样的东西:

// Set up your 'deck'

deck = {
  hearts: [],
  spades: [],
  diamonds: [],
  clubs: []
}

// The object 'deck' has four properties (hearts, spades...), each of which is an empty array.

// Use a loop to add your 'cards'

Object.keys(deck).forEach(suit => {
  for (i = 1; i < 14; i++) {
    deck[suit].push(i);
  }
});

// For each property in the object 'deck', push ascending consecutive integers starting from the number 1 to each array, until the number 14 is reached.

这给你:

deck = {
  hearts: [1,2,3,4,5,6,7,8,9,10,11,12,13],
  spades: [1,2,3,4,5,6,7,8,9,10,11,12,13],
  diamonds: [1,2,3,4,5,6,7,8,9,10,11,12,13],
  clubs: [1,2,3,4,5,6,7,8,9,10,11,12,13]
}