Jaysyn904 102ba7dab6 Initial Commit
Initial Commit
2023-09-21 19:51:32 -04:00

155 lines
3.3 KiB
Plaintext

/**
* 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(){}