Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/16: Рейтинг темы: голосов - 16, средняя оценка - 4.50
9 / 3 / 1
Регистрация: 04.07.2012
Сообщений: 108
1

Клас колода карт

13.04.2013, 21:56. Просмотров 3311. Ответов 1
Метки нет (Все метки)

Класс CardDeck (колода карт). Класс сохраняет массив из 32 карт (cards), а также текущую карту (currentCard). Надо написать функцию для перемешивание карт, функцию выбор 6 карт, а также функцию сортировки карт по старшинству.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.04.2013, 21:56
Ответы с готовыми решениями:

Реализовать структуру "Колода карт"; сформировать случайную перетасовку карт для трёх игроков
Создать структуру колоды карт, состоящую из двух полей- переменных перечислимого типа "масть" и...

Колода карт
реализация колоды карт :wall:

Колода карт
Здравствуйте. Имеется код программы, которая тасует колоду карт и вытягивает необходимое количество...

Колода карт (тусовка и освобождение памяти)
Собственно столкнулся с двумя вопросами : 1) Каким образом перетусовать колоду карт? Ничем путнее,...

1
413 / 409 / 95
Регистрация: 06.10.2011
Сообщений: 832
14.04.2013, 02:22 2
Лучший ответ Сообщение было отмечено olegnaruto как решение

Решение

Что-то вроде такого?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
 
#include <ctime>
#include <cstdlib>
 
using namespace std;
 
typedef pair<unsigned, unsigned> card;
typedef vector<card> deck;
 
class CardDeck
{
public:
    CardDeck(): vec(deckSize) { this->Init();   }
 
    void print()
    {
        for(deck::size_type i = 0; i!=deckSize; i++)
            cout << Card[vec[i].first] << "\t" << Suit[vec[i].second] << endl;
    }
 
    void shuffle()
    {
        srand(time(0));
        unsigned newPos = rand() % deckSize;
        for(deck::size_type i = 0; i!=deckSize; i++, newPos = rand() % deckSize)
            swap(vec[i], vec[newPos]);
    }
 
    void sortDeck()
    {   sort(vec.begin(), vec.end());   }
 
private:
    static const string Suit[];
    static const string Card[];
    static const unsigned deckSize;
    deck vec;
 
    void Init()
    {
        for(deck::size_type i = 0, j = 0; i!=deckSize; i++, j += !(i % 4)?1:0) {
            vec[i].first = j;
            vec[i].second = i % 4;
        }
    }
};
 
const string CardDeck::Card[] = {"7", "8", "9", "10", "Валет", "Дама", "Король", "Туз"};
const string CardDeck::Suit[] = {"пики", "трефы", "червы", "бубны"};
const unsigned CardDeck::deckSize = 32;
 
int main()
{
    setlocale(LC_CTYPE, "");
    CardDeck d;
    d.shuffle();
    d.print();
    cout << string(80, '-');
    d.sortDeck();
    d.print();
 
    return 0;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.04.2013, 02:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Колода карт, считать данные из файла в кодировке Unicode
Здравствуйте, я имею необычную задачу, а именно, хочу считать из файла данные такого типа ...

Создать класс "Колода карт"
Создать колоду карт. Конструкторы колоды должны инициализировать колоду упорядочено и случайным...

Иерархия: класс "карта", "колода карт"
(Иерархия). Создать класс карта, имеющая ранг и масть. Карту можно перевернуть и открыть. Создать...

клас Letter, клас Person
Створити клас Letter, що мiстить наступнi елементи: - поле «вiдправник» Person*Sender; - поле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.