Change tabs to spaces.
[reactos.git] / rosapps / games / solitaire / cardlib / cardstack.cpp
index 147c096..06b9f25 100644 (file)
@@ -1,8 +1,8 @@
 //\r
-//     CardLib - CardStack class\r
+//    CardLib - CardStack class\r
 //\r
-//     Freeware\r
-//     Copyright J Brown 2001\r
+//    Freeware\r
+//    Copyright J Brown 2001\r
 //\r
 #include <windows.h>\r
 #include <stdlib.h>\r
 \r
 Card &CardStack::operator[] (size_t index)\r
 {\r
-       if(index >= (size_t)nNumCards) index = nNumCards - 1;\r
-       return cardlist[nNumCards - index - 1];\r
+    if(index >= (size_t)nNumCards) index = nNumCards - 1;\r
+    return cardlist[nNumCards - index - 1];\r
 }\r
 \r
 const Card &CardStack::operator[] (size_t index) const\r
 {\r
-       if(index >= (size_t)nNumCards) index = nNumCards - 1;\r
-       return cardlist[nNumCards - index - 1];\r
+    if(index >= (size_t)nNumCards) index = nNumCards - 1;\r
+    return cardlist[nNumCards - index - 1];\r
 }\r
 \r
-//     Subscripting operator for a constant sequence\r
+//    Subscripting operator for a constant sequence\r
 //\r
 /*Card CardStack::operator[] (size_t index) const\r
 {\r
-       return cardlist[index];\r
+    return cardlist[index];\r
 }*/\r
 \r
 //\r
-//     Subscripting operator for a non-const sequence\r
+//    Subscripting operator for a non-const sequence\r
 //\r
 /*CardStack::ref  CardStack::operator[] (size_t index)\r
 {\r
-       return ref(this, index);\r
+    return ref(this, index);\r
 }*/\r
 \r
 void CardStack::Clear()\r
 {\r
-       nNumCards = 0;\r
+    nNumCards = 0;\r
 }\r
 \r
 void CardStack::NewDeck()\r
 {\r
-       nNumCards = 52;\r
+    nNumCards = 52;\r
 \r
-       for(int i = 0; i < 52; i++)\r
-               cardlist[i].nValue = i;\r
+    for(int i = 0; i < 52; i++)\r
+        cardlist[i].nValue = i;\r
 }\r
 \r
 void CardStack::Shuffle()\r
 {\r
-       int src, dest;\r
-       Card temp;\r
-\r
-       //shuffle 8 times..\r
-       for(int i = 0; i < 8; i++)\r
-               for(dest = nNumCards - 1; dest > 0; dest--)\r
-               {\r
-                       //want to do this:\r
-                       //  bad:   src = rand() % (dest + 1)\r
-                       //  good:  src = rand() / (RAND_MAX / (dest+1) + 1)\r
-                       \r
-                       //positions from 0 to dest\r
-                       src = rand() / (RAND_MAX / (dest+1) + 1);\r
-                       \r
-                       //swap the cards\r
-                       temp           = cardlist[src];\r
-                       cardlist[src]  = cardlist[dest];\r
-                       cardlist[dest] = temp;\r
-               }\r
+    int src, dest;\r
+    Card temp;\r
+\r
+    //shuffle 8 times..\r
+    for(int i = 0; i < 8; i++)\r
+        for(dest = nNumCards - 1; dest > 0; dest--)\r
+        {\r
+            //want to do this:\r
+            //  bad:   src = rand() % (dest + 1)\r
+            //  good:  src = rand() / (RAND_MAX / (dest+1) + 1)\r
+            \r
+            //positions from 0 to dest\r
+            src = rand() / (RAND_MAX / (dest+1) + 1);\r
+            \r
+            //swap the cards\r
+            temp           = cardlist[src];\r
+            cardlist[src]  = cardlist[dest];\r
+            cardlist[dest] = temp;\r
+        }\r
 }\r
 \r
 void CardStack::Reverse()\r
 {\r
-       for(int i = 0; i < nNumCards / 2; i++)\r
-       {\r
-               Card temp                   = cardlist[i];\r
-               cardlist[i]                 = cardlist[nNumCards - i - 1];\r
-               cardlist[nNumCards - i - 1] = temp;\r
-       }\r
+    for(int i = 0; i < nNumCards / 2; i++)\r
+    {\r
+        Card temp                   = cardlist[i];\r
+        cardlist[i]                 = cardlist[nNumCards - i - 1];\r
+        cardlist[nNumCards - i - 1] = temp;\r
+    }\r
 }\r
 \r
 void CardStack::Push(const Card card)\r
 {\r
-       if(nNumCards < MAX_CARDSTACK_SIZE)\r
-               cardlist[nNumCards++] = card;\r
+    if(nNumCards < MAX_CARDSTACK_SIZE)\r
+        cardlist[nNumCards++] = card;\r
 }\r
 \r
 void CardStack::Push(const CardStack &cardstack)\r
 {\r
-       if(nNumCards + cardstack.nNumCards < MAX_CARDSTACK_SIZE)\r
-       {\r
-               int num = cardstack.NumCards();\r
-               \r
-               for(int i = 0; i < num; i++)\r
-                       cardlist[nNumCards++] = cardstack.cardlist[i];\r
-       }\r
+    if(nNumCards + cardstack.nNumCards < MAX_CARDSTACK_SIZE)\r
+    {\r
+        int num = cardstack.NumCards();\r
+        \r
+        for(int i = 0; i < num; i++)\r
+            cardlist[nNumCards++] = cardstack.cardlist[i];\r
+    }\r
 }\r
 \r
 CardStack& CardStack::operator += (Card card)\r
 {\r
-       Push(card);\r
-       return *this;\r
+    Push(card);\r
+    return *this;\r
 }\r
 \r
 CardStack& CardStack::operator += (CardStack &cs)\r
 {\r
-       Push(cs);\r
-       return *this;\r
+    Push(cs);\r
+    return *this;\r
 }\r
 \r
 CardStack CardStack::operator +  (Card card)\r
 {\r
-       CardStack poo = *this;\r
-       poo.Push(card);\r
-       return poo;\r
+    CardStack poo = *this;\r
+    poo.Push(card);\r
+    return poo;\r
 }\r
 \r
 CardStack CardStack::operator + (CardStack &cs)\r
 {\r
-       CardStack poo = *this;\r
-       poo.Push(cs);\r
-       return poo;\r
+    CardStack poo = *this;\r
+    poo.Push(cs);\r
+    return poo;\r
 }\r
 \r
 \r
 Card CardStack::Pop()\r
 {\r
-       if(nNumCards > 0)\r
-               return cardlist[--nNumCards];\r
-       else\r
-               return 0;\r
+    if(nNumCards > 0)\r
+        return cardlist[--nNumCards];\r
+    else\r
+        return 0;\r
 }\r
 \r
 CardStack CardStack::Pop(int items)\r
 {\r
-       if(items <= nNumCards && nNumCards > 0)\r
-       {\r
-               CardStack cs(*this, nNumCards - items);\r
+    if(items <= nNumCards && nNumCards > 0)\r
+    {\r
+        CardStack cs(*this, nNumCards - items);\r
 \r
-               nNumCards -= items;\r
+        nNumCards -= items;\r
 \r
-               return cs;\r
-       }\r
-       else\r
-       {\r
-               return CardStack();\r
-       }\r
+        return cs;\r
+    }\r
+    else\r
+    {\r
+        return CardStack();\r
+    }\r
 }\r
 \r
 Card CardStack::Top()\r
 {\r
-       if(nNumCards > 0)\r
-               return cardlist[nNumCards - 1];\r
-       else\r
-               return 0;\r
+    if(nNumCards > 0)\r
+        return cardlist[nNumCards - 1];\r
+    else\r
+        return 0;\r
 }\r
 \r
 CardStack CardStack::Top(int items)\r
 {\r
-       if(items <= nNumCards && nNumCards > 0)\r
-       {\r
-               return CardStack (*this, nNumCards - items);\r
-       }\r
-       else\r
-       {\r
-               return CardStack();\r
-       }\r
+    if(items <= nNumCards && nNumCards > 0)\r
+    {\r
+        return CardStack (*this, nNumCards - items);\r
+    }\r
+    else\r
+    {\r
+        return CardStack();\r
+    }\r
 \r
 }\r
 \r
 Card CardStack::RemoveCard(size_t index)\r
 {\r
-       if(nNumCards == 0 || index >= (size_t)nNumCards)\r
-               return 0;\r
+    if(nNumCards == 0 || index >= (size_t)nNumCards)\r
+        return 0;\r
 \r
-       //put index into reverse range..\r
-       index = nNumCards - index - 1;\r
+    //put index into reverse range..\r
+    index = nNumCards - index - 1;\r
 \r
-       Card temp = cardlist[index];\r
+    Card temp = cardlist[index];\r
 \r
-       nNumCards--;\r
+    nNumCards--;\r
 \r
-       for(size_t i = index; i < (size_t)nNumCards; i++)\r
-       {\r
-               cardlist[i] = cardlist[i+1];\r
-       }\r
+    for(size_t i = index; i < (size_t)nNumCards; i++)\r
+    {\r
+        cardlist[i] = cardlist[i+1];\r
+    }\r
 \r
-       return temp;\r
+    return temp;\r
 }\r
 \r
 void CardStack::InsertCard(size_t index, Card card)\r
 {\r
-       if(nNumCards == MAX_CARDSTACK_SIZE)\r
-               return;\r
+    if(nNumCards == MAX_CARDSTACK_SIZE)\r
+        return;\r
 \r
-       if(index > (size_t)nNumCards)\r
-               return;\r
+    if(index > (size_t)nNumCards)\r
+        return;\r
 \r
-       if((size_t)nNumCards == index)\r
-       {\r
-               cardlist[nNumCards] = card;\r
-               nNumCards++;\r
-               return;\r
-       }\r
+    if((size_t)nNumCards == index)\r
+    {\r
+        cardlist[nNumCards] = card;\r
+        nNumCards++;\r
+        return;\r
+    }\r
 \r
-       //put index into reverse range..\r
-       index = nNumCards - index - 1;\r
+    //put index into reverse range..\r
+    index = nNumCards - index - 1;\r
 \r
-       nNumCards++;\r
+    nNumCards++;\r
 \r
-       //make room for the card\r
-       for(size_t i = nNumCards; i > index; i--)\r
-       {\r
-               cardlist[i] = cardlist[i - 1];\r
-       }\r
+    //make room for the card\r
+    for(size_t i = nNumCards; i > index; i--)\r
+    {\r
+        cardlist[i] = cardlist[i - 1];\r
+    }\r
 \r
-       cardlist[index] = card;\r
+    cardlist[index] = card;\r
 }\r
 \r
 \r
 void CardStack::Print()\r
 {\r
-//     for(int i = 0; i < nNumCards; i++)\r
-//             cout << cardlist[i].HiVal() << " ";\r
+//    for(int i = 0; i < nNumCards; i++)\r
+//        cout << cardlist[i].HiVal() << " ";\r
 }\r
 \r
 CardStack::CardStack(CardStack &copythis, size_t fromindex)\r
 {\r
-       nNumCards = copythis.nNumCards - fromindex;\r
+    nNumCards = copythis.nNumCards - fromindex;\r
 \r
-       for(int i = 0; i < nNumCards; i++)\r
-               cardlist[i] = copythis.cardlist[fromindex + i];\r
+    for(int i = 0; i < nNumCards; i++)\r
+        cardlist[i] = copythis.cardlist[fromindex + i];\r
 }\r
 \r