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