Cards просмотрены, и нужной карты там нет, то это явно логическая ошибка, о чем и нужно выдать сообщение.

void TPack::AddCard(TCard card)

{

int i ;

?or( i = 0; i < PACK_TOTAL; i ++ ) . if( !Cards[i].Is &&

Cards [ i] .GetValue.O == card.GetValue () && Cards[i].GetSuitO == card.GetSuit() ) { Cards[i].Is = true;

return ;

} ,

ShowMessage("Не удалось добавить карту");

}

Проверка на опустошение колоды

Последний метод TPack — проверка, есть ли в колоде хотя бы одна карта. Он реализуется совсем просто — последовательно перебираются элементы Cards, и если встречается карта, которая реально имеется в колоде (переменная Is равна true), то метод сразу возвращает true, а оставшиеся карты можно не проверять. А вот если цикл закончился нормально, значит, все карты в колоде отсутствуют — возвращается значение false.

bool TPack::IsCard()

{

int i;

for( i = 0; i < PACK_TOTAL; i ++ ) if( Cards[i].Is ) return true;

return false ;

)

В итоге нами получена готовая реализация классов «Карта» и «Колода», выделенная в файлах CardUnit.cpp и CardUnit.h, которые можно включать в любые другие программы, связанные с карточными играми.

196