面向对象设计1

Design the data structures for a generic deck of cards

设计一个扑克牌类,在该设计中,我没有考虑大小王,类的方法只考虑了洗牌和抽牌。

// datastructure.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include 
#include
#include
#include

using namespace std;

enum cardcolor  {CLUBS,SPADES,HEARTS,DIAMONDS};
struct Suit
{
	int color;
	int value;
	Suit(int scolor, int svalue)
	{
		color = scolor;
		value = svalue;
	}
};

class Card
{
private:
	vector cardarray;
public:
	Card();
	~Card();
	void shuffle();
	Suit pickone(int position);
	void print();
};

Card::Card()
{
	int colornum = 4;
	int cardnumpercolor = 13;
	for(int i = 0; i < colornum; i++)
	{
		for(int j = 1; j <= cardnumpercolor;j++)
		{
			Suit tmpsuit = Suit(i,j);
			cardarray.push_back(tmpsuit);
		}
	}
}

Card::~Card()
{
}

void Card::shuffle()
{

	for(int i = 0; i < cardarray.size()-1; i++)
	{
		int pos = i+rand()%( cardarray.size()-i-1);
		swap( cardarray[i], cardarray[pos]);
	}
	return;
}

Suit Card::pickone(int pos)
{
	return cardarray[pos];
}

void Card::print()
{
	cout << "(color, value)"<


你可能感兴趣的:(C++,学习,CC)