/** * The basic deck are CARD_0, CARD_1, ... CARD_52 with * signify Ace, 2-10, Jack, Queen, King of * Clubs/Hearts/Spades/Diamonds in that order * * Copyright (C) 2002-2003 Jim Woodgate - woody@realtime.net */ int NUM_DECKS = 2; string SUIT0 = "C"; string LSUIT0 = "Clubs"; string SUIT1 = "H"; string LSUIT1 = "Hearts"; string SUIT2 = "S"; string LSUIT2 = "Spades"; string SUIT3 = "D"; string LSUIT3 = "Diamonds"; string CARD0 = "A"; string LCARD0 = "Ace"; string CARD1 = "2"; string LCARD1 = "2"; string CARD2 = "3"; string LCARD2 = "3"; string CARD3 = "4"; string LCARD3 = "4"; string CARD4 = "5"; string LCARD4 = "5"; string CARD5 = "6"; string LCARD5 = "6"; string CARD6 = "7"; string LCARD6 = "7"; string CARD7 = "8"; string LCARD7 = "8"; string CARD8 = "9"; string LCARD8 = "9"; string CARD9 = "T"; string LCARD9 = "10"; string CARD10 = "J"; string LCARD10 = "Jack"; string CARD11 = "Q"; string LCARD11 = "Queen"; string CARD12 = "K"; string LCARD12 = "King"; void shuffle(object oStore) { int i; for (i=0; i<52; i++) { SetLocalInt(oStore, "CARD_"+IntToString(i), 0); } } int cardsLeft(object oStore) { int i; int left=0; for (i=0; i<52; i++) { left += (NUM_DECKS - GetLocalInt(oStore, "CARD_"+IntToString(i))); } return left; } int quickCheck(object oStore) { int i; for (i=0; i<52; i++) { if (GetLocalInt(oStore, "CARD_"+IntToString(i)) < NUM_DECKS) return TRUE; } return FALSE; } int pickCard(object oStore) { int left = quickCheck(oStore); if (left == FALSE) { PrintString("*ERROR* Ran out of cards!"); return -1; } int pick = Random(52); while (GetLocalInt(oStore, "CARD_"+IntToString(pick)) == NUM_DECKS) { pick = Random(52); } SetLocalInt(oStore, "CARD_"+IntToString(pick), GetLocalInt(oStore, "CARD_"+IntToString(pick))+1); return pick; } string getValue(int card) { switch(card%13) { case 0: return CARD0; case 1: return CARD1; case 2: return CARD2; case 3: return CARD3; case 4: return CARD4; case 5: return CARD5; case 6: return CARD6; case 7: return CARD7; case 8: return CARD8; case 9: return CARD9; case 10: return CARD10; case 11: return CARD11; case 12: return CARD12; default: return "Invalid Card: "+IntToString(card); } return "Invalid Card: "+IntToString(card); } string getLongValue(int card) { switch(card%13) { case 0: return LCARD0; case 1: return LCARD1; case 2: return LCARD2; case 3: return LCARD3; case 4: return LCARD4; case 5: return LCARD5; case 6: return LCARD6; case 7: return LCARD7; case 8: return LCARD8; case 9: return LCARD9; case 10: return LCARD10; case 11: return LCARD11; case 12: return LCARD12; default: return "Invalid Card: "+IntToString(card); } return "Invalid Card: "+IntToString(card); } string getSuit(int card) { switch(card/13) { case 0: return SUIT0; case 1: return SUIT1; case 2: return SUIT2; case 3: return SUIT3; default: return "Invalid Card: "+IntToString(card); } return "Invalid Card: "+IntToString(card); } string getLongSuit(int card) { switch(card/13) { case 0: return LSUIT0; case 1: return LSUIT1; case 2: return LSUIT2; case 3: return LSUIT3; default: return "Invalid Card: "+IntToString(card); } return "Invalid Card: "+IntToString(card); } //void main(){}