Форум программистов, компьютерный форум CyberForum.ru

Клас колода карт - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
olegnaruto
9 / 3 / 1
Регистрация: 04.07.2012
Сообщений: 108
13.04.2013, 21:56     Клас колода карт #1
Класс CardDeck (колода карт). Класс сохраняет массив из 32 карт (cards), а также текущую карту (currentCard). Надо написать функцию для перемешивание карт, функцию выбор 6 карт, а также функцию сортировки карт по старшинству.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2013, 21:56     Клас колода карт
Посмотрите здесь:

Колода карт C++
C++ Колода карт (тусовка и освобождение памяти)
Колода карт C++
C++ клас Letter, клас Person
клас птиц C++
C++ Иерархия: класс "карта", "колода карт"
C++ Колода карт, считать данные из файла в кодировке Unicode
C++ Создать класс "Колода карт"

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
14.04.2013, 02:22     Клас колода карт #2
Что-то вроде такого?
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;
}
Yandex
Объявления
14.04.2013, 02:22     Клас колода карт
Ответ Создать тему
Опции темы

Текущее время: 01:17. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru