// deck of cards
// below are initializations
#include <iostream>
#include <fstream>
#include <ctime>
using namespace std;
int main()
{
ofstream myfile; //setup for copy to text file
const char usdeck[4][13][14] = //create 3d array of 52 cards
{
{"heart two", "heart three", "heart four",
"heart five", "heart six", "heart seven",
"heart eight","heart nine", "heart ten",
"heart jack","heart queen", "heart king",
"heart ace"},
{"diamond two", "diamond three", "diamond four",
"diamond five", "diamond six", "diamond seven",
"diamond eight", "diamond nine", "diamond ten",
"diamond jack", "diamond queen", "diamond king",
"diamond ace"},
{"club two", "club three", "club four", "club five",
"club six", "club seven", "club eight", "club nine",
"club ten", "club jack", "club queen", "club king",
"club ace"},
{"spade two", "spade three", "spade four",
"spade five", "spade six", "spade seven",
"spade eight", "spade nine", "spade ten",
"spade jack", "spade queen", "spade king",
"spade ace"}
};
for(int row=0;row<4; row++)
{
for(int column=0;column<13;column++)
{
for(int element=0;element<14;element++)
{
cout << usdeck[row][column][element] << " ";
}
cout <<endl;
}
}
myfile.open("UnshuffledDeck.txt");//creates a text file to place unshuffled deck into
for(int row=0;row<4; row++)
{
for(int column=0;column<13;column++)
{
for(int element=0;element<14;element++)
{
myfile << usdeck[row][column][element] << " ";
//this creates the unshuffled deck text file
}
myfile <<endl;
}
}
myfile.close(); //closes unshuffled deck text file
return 0;
}
void Shuffle()
{
int temp;
char theDeck[4][13];
srand(time(0));
for (int i=0; i<=51; i++)
{
int j = 1 + rand()%52;
int k = 1 + rand()%52;
temp = theDeck[j];
theDeck[j]=theDeck[k];
theDeck[k]=temp;
}
}
我想洗牌在我的甲板。我寫了下面的函數隨機我相信洗牌一副牌,但我不知道如何實施它..我的「洗牌」甲板需要在2D陣列實施..請幫助!隨機化(隨機播放)多維數組到另一個二維數組
ewwwww indent the code :) – 2014-09-04 03:38:45
它最有可能不足以做52次卡片掉期洗牌。您最有效的洗牌將是清空卡組,然後隨機將卡重新放入。 – jackarms 2014-09-04 03:39:11
爲什麼不是一張一卡的卡?這很容易:'std :: string myCards [52] = {「heart two」,「heart three」,等等}。然後,你需要的只是'std :: random_shuffle'而不是所有的代碼。因爲沒有人只是在俱樂部,心臟,黑桃和鑽石中洗牌,所以你在洗牌的第二套牌的要求在現實世界中是沒有意義的。你洗牌整個甲板。 – PaulMcKenzie 2014-09-04 04:13:03