All pastes #272085 Raw Edit

Unnamed

public text v1 · immutable
·published 2006-12-08 18:38 UTC
rendered paste body
#include <iostream>
#include <string>
#include <list>

using namespace std;

class Card {
public:
	int value;
	int suit;
	Card(int, int);
	void show();
};

Card::Card(int v, int s) {
	value = v;
	suit = s;
}

void Card::show() {
	char suitChar;
	switch (suit) {
		case 0:
			suitChar = 'S';
			break;
		case 1:
			suitChar = 'C';
			break;
		case 2:
			suitChar = 'D';
			break;
		case 3:
			suitChar = 'H';
			break;
		default:
			cout << "what";
	}
	cout << "ze card is " << suitChar << " " << value << "\n";		
}

class Pile {
	list<Card*> cards;
	char name[100];
public:
	Pile(char *);
	Pile(char *, int);
	void Pile::show();
	Card * draw();
};

Pile::Pile(char * n) {
	strncpy(name, n, 100);
}

Pile::Pile(char * n, int t) {
	strncpy(name, n, 100);
	for(int s=0; s<4; s++) {
		for(int v=1; v<14; v++) {
			Card * tmpc = new Card(v,s);
			cards.push_back(tmpc);
			cout << "what " << v << " " << s << "\n";
		}
	}
}

void Pile::show() {
	Card * tmpc;
	list<Card*>::iterator i;
	for(i = cards.begin(); i != cards.end(); ++i)
	{
		tmpc->value = (*i)->value;
		tmpc->suit = (*i)->suit;
		//tmpc->show();
	}
}

Card * Pile::draw() {
	Card * c = cards.back();
	cards.pop_back();
	return c;
}

int main (int argc, char * const argv[]) {
	Pile deck("cock",69);
	deck.show();
	Card * card1 = deck.draw();
	card1->show();
	return 0;
}