![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - BlackJack |
|
C/C++ - BlackJack
|
Новый участник Сообщения: 17 |
Здравствуйте! Пытаюсь реализовать игру Блэк Джэк. Создаю колоду, тусую. Вопрос вот в чем как организовать выдачу карт с извлечением их из колоды(тобишь чтобы они были на руках но в калоде не числились)))...
//Card.h #include <iostream> #include <string.h> using namespace std; enum Suit {clubs, diamonds, hearts, spades}; class Card{ private: Suit suit; int face; public: Card(); void setCard(int, Suit); void PrintCard(); void setScore(); }; //Card.cpp #include <iostream> #include "Card.h" using namespace std; Card::Card(){ this->face = 0; this->suit = (Suit)0; } void Card::setCard(int f, Suit s){ this->face = f; this->suit = s; } void Card::PrintCard(){ if (face >= 2 && face <= 10) cout << face; else{ switch (face){ case 11: cout << 'J'; break; case 12: cout << 'Q'; break; case 13: cout << 'K'; break; case 14: cout << 'A'; break; } } switch (suit) { case clubs: cout << static_cast<char>(5); break; case diamonds: cout << static_cast<char>(4); break; case hearts: cout << static_cast<char>(3); break; case spades: cout << static_cast<char>(6); break; } } //CardBatch.h #include <iostream> #include "Card.h" class Card_Batch{ Card* cards; public: Card_Batch(); void setCard_Batch(); void Shuffle(); void display(); void getcard(); // Тест... для извлечения карты в этом классе временно }; //CardBatch.cpp #include <iostream> #include "CardBatch.h" #include <ctime> using namespace std; Card_Batch::Card_Batch(){ const int size = 52; // this->score = 0; cards = new Card[size]; } //Создание колоды карт void Card_Batch::setCard_Batch(){ for(int i = 0; i < 52; i++){ int f = (i%13) + 2; Suit s = Suit(i/13); cards[i].setCard(f, s); } } //Тусуется колода карт void Card_Batch::Shuffle(){ srand (unsigned(time(NULL))); for(int i = 0; i < 52; i++){ int k = rand()%52; //выбираем случайную карту Card temp = cards[i]; //и меняем ее с текущей cards[i] = cards[k]; cards[k] = temp; } } void Card_Batch::display(){ for (int i = 0; i < 52; i++ ){ cards[i].PrintCard(); if(!((i+1)%13)) // начинаем новую строку после каждой 13-й карты cout << endl; } cout << "\n\n\n"; } void Card_Batch::getcard(){ for(int i = 0; i < 2; i++) cards[i].PrintCard(); } |
|
Отправлено: 00:27, 10-01-2013 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать У меня еще один вопрос.. Определение переменной отвечайщей за местоположение карты лучше определить в классе карта или уже в калоде? bool place (false - калода true - на руках)
Если в классе карта то как сделать чтобы в этом блоке, карта получала значение place = true (с учетом что она прописана как private) или лучше сделать public? Цитата torauma:
|
|
Отправлено: 15:32, 10-01-2013 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Разный Сообщения: 1294
|
Профиль | Отправить PM | Цитировать |
Отправлено: 16:15, 10-01-2013 | #12 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
|