Георгий
Новый пользователь
- Сообщения
- 36
- Реакции
- 5
Вот пишу игру с использованием стека, может ктонибуть поможет не могу никак нормально создать 52 объекта стека, точнее также не могу связать их указателями, вот код:
PHP:
#include <iostream>
#include <time.h>
using namespace std;
enum Cards { peak_duce, deuce_of_clubs, deuce_of_hearts, deuce_of_diamonds,
peak_three, three_of_clubs, three_of_hearts, three_of_diamonds,
peak_four, four_of_clubs, four_of_hearts, four_of_diamonds,
peak_five, five_of_clubs, five_of_hearts, five_of_diamonds,
peak_six, six_of_clubs, six_of_hearts, six_of_diamonds,
peak_seven, seven_of_clubs, seven_of_hearts, seven_of_diamonds,
peak_eight, eight_of_clubs, eight_of_hearts, eight_of_diamonds,
peak_nine, nine_of_clubs, nine_of_hearts, nine_of_diamonds,
peak_ten, ten_of_clubs, ten_of_hearts, ten_of_diamonds,
peak_jack, jack_of_clubs, jack_of_hearts, jack_of_diamonds,
peak_lady, lady_of_clubs, lady_of_hearts, lady_of_diamonds,
peak_king, king_of_clubs, king_of_hearts, king_of_diamonds,
peak_ace, ace_of_clubs, ace_of_hearts, ace_of_diamonds,
};
class dec_card {
public:
//конструктор
dec_card(){
//*pHead = NULL;
lenght = 0;
maxlenght = 52;
}
dec_card mix_cards() { //создаем 52 объекта стека, и возвращаем указатель на последний
for (int i = 0; i < maxlenght; i++){
dec_card *pHead = new dec_card;
}
return *pHead;
}
void take_card(int count_need_cards){ //игрок берет столько карт со стека сколько ему нужно
card = 0;
for (int i = 0; i < count_need_cards; i++){
card = rand()%52;
switch (card){
case 1 : cout << "Пиковая двойка";
case 2 : cout << "Червовая двойка";
case 3 : cout << "Трефова двойка";
case 4 : cout << "Бубновая двойка";
case 5 : cout << "Пиковая тройка";
case 6 : cout << "Червовая тройка";
case 7 : cout << "Трефовая тройка";
case 8 : cout << "Бубновая тройка";
case 9 : cout << "Пиковая четверка";
case 10: cout << "Червовая четверка";
case 11: cout << "Трефовая четверка";
case 12: cout << "Бубновая четверка";
case 13: cout << "Пиковая пятерка";
case 14: cout << "Червовая пятерка";
case 15: cout << "Трефовая пятерка";
case 16: cout << "Бубновая пятерка";
case 17: cout << "Пиковая шестекрка";
case 18: cout << "Червовая шестерка";
case 19: cout << "Трефовая шестерка";
case 20: cout << "Бубновая шестерка";
case 21: cout << "Пиковая семерка";
case 22: cout << "Червовая семерка";
case 23: cout << "Трефовая семерка";
case 24: cout << "Бубновая семерка";
case 25: cout << "Пиковая восьмерка";
case 26: cout << "Червовая восьмерка";
case 27: cout << "Трефовая восьмерка";
case 28: cout << "Бубновая восьмерка";
case 29: cout << "Пиковая девятка";
case 30: cout << "Червовая девятка";
case 31: cout << "Трефовая девятка";
case 32: cout << "Бубновая девятка";
case 33: cout << "Пиковая десятка";
case 34: cout << "Червовая десятка";
case 35: cout << "Трефовая десятка";
case 36: cout << "Бубновая десятка";
case 37: cout << "Пиковый валет";
case 38: cout << "Червовый валет";
case 39: cout << "Трефовый валет";
case 40: cout << "Бубновый валет";
case 41: cout << "Пиковая дама";
case 42: cout << "Червовая дама";
case 43: cout << "Трефовая дама";
case 44: cout << "Бубновая дама";
case 45: cout << "Пиковый король";
case 46: cout << "Червовый король";
case 47: cout << "Трефовый король";
case 48: cout << "Бубновый король";
case 49: cout << "Пиковый туз";
case 50: cout << "Червовый туз";
case 51: cout << "Трефовый туз";
case 52: cout << "Бубновый туз";
}
}
}
bool isful(){ //небольшая проверка на stack_overflow
return lenght == maxlenght;
}
private: //объявляем переменные и указатели
dec_card *pHead; //указатель на класс, точнее на первый объект стека
int maxlenght;
int lenght;
int card;
};
void main(){
srand(time(0));
dec_card dec;
dec.mix_cards();
}