Hi guys I just wanted to ask if it is possible
I am currently making a simple poker game and here's my array of string which has the value of
public static string[] cardSprite = new string[]
{
"1c", "1s", "1d", "1h", "2c", "2s", "2d", "2h", "3c", "3s", "3d", "3h",
"4c", "4s", "4d", "4h", "5c", "5s", "5d", "5h", "6c", "6s", "6d", "6h",
"7c", "7s", "7d", "7h", "8c", "8s", "8d", "8h", "9c", "9s", "9d", "9h",
"10c", "10s", "10d", "10h", "11c", "11s", "11d", "11h", "12c", "12s", "12d", "12h",
"13c", "13s", "13d", "13h",
};
Now those value inside the array I used it to load the cards from my resources like this
Resources.Load<Sprite>
and store the original values on this variable
string[] cardplaceholderValue
Now its working perfectly but I am having trouble of getting the game rules of poker like
onePair() twoPair() etc.
So my solution for that is convert/put the array to enum but I am stuck so what on my mind is like this
public enum CardValue
{
ACE = 1,
TWO = 2,
THREE = 3,
FOUR = 4,
FIVE = 5,
SIX = 6,
SEVEN = 7,
EIGHT = 8,
NINE = 9,
TEN = 10,
JACK = 11,
QUEEN = 12,
KING = 13
}
Here's the problem on my conditional statement
if(player1ValueCard[0] == player1ValueCard[1])
{
ValueHolder.Player1OnePair = true;
}
How will I know the value of my card that is converted into enum so that even if it is
1 of heart or 1 of diamond or 1 of clover or 1 of spade it will be considered as ACE or 1
WHAT I"VE DONE SO FAR
GAMERULE.CS
public static void ConvertCards()
{
for (int i = 0; i < 9; i++)
{
if (ValueHolder.shuffleDeck[i] == "1h" || ValueHolder.shuffleDeck[i] == "1d" || ValueHolder.shuffleDeck[i] == "1c"
|| ValueHolder.shuffleDeck[i] == "1s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.ACE.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "2h" || ValueHolder.shuffleDeck[i] == "2d" || ValueHolder.shuffleDeck[i] == "2c"
|| ValueHolder.shuffleDeck[i] == "2s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.TWO.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "3h" || ValueHolder.shuffleDeck[i] == "3d" || ValueHolder.shuffleDeck[i] == "3c"
|| ValueHolder.shuffleDeck[i] == "3s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.THREE.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "4h" || ValueHolder.shuffleDeck[i] == "4d" || ValueHolder.shuffleDeck[i] == "4c"
|| ValueHolder.shuffleDeck[i] == "4s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.FOUR.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "5h" || ValueHolder.shuffleDeck[i] == "5d" || ValueHolder.shuffleDeck[i] == "5c"
|| ValueHolder.shuffleDeck[i] == "5s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.FIVE.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "6h" || ValueHolder.shuffleDeck[i] == "6d" || ValueHolder.shuffleDeck[i] == "6c"
|| ValueHolder.shuffleDeck[i] == "6s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.SIX.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "7h" || ValueHolder.shuffleDeck[i] == "7d" || ValueHolder.shuffleDeck[i] == "7c"
|| ValueHolder.shuffleDeck[i] == "7s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.SEVEN.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "8h" || ValueHolder.shuffleDeck[i] == "8d" || ValueHolder.shuffleDeck[i] == "8c"
|| ValueHolder.shuffleDeck[i] == "8s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.EIGHT.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "9h" || ValueHolder.shuffleDeck[i] == "9d" || ValueHolder.shuffleDeck[i] == "9c"
|| ValueHolder.shuffleDeck[i] == "9s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.NINE.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "10h" || ValueHolder.shuffleDeck[i] == "10d" || ValueHolder.shuffleDeck[i] == "10c"
|| ValueHolder.shuffleDeck[i] == "10s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.TEN.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "11h" || ValueHolder.shuffleDeck[i] == "11d" || ValueHolder.shuffleDeck[i] == "11c"
|| ValueHolder.shuffleDeck[i] == "11s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.JACK.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "12h" || ValueHolder.shuffleDeck[i] == "12d" || ValueHolder.shuffleDeck[i] == "12c"
|| ValueHolder.shuffleDeck[i] == "12s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.QUEEN.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
if (ValueHolder.shuffleDeck[i] == "13h" || ValueHolder.shuffleDeck[i] == "13d" || ValueHolder.shuffleDeck[i] == "13c"
|| ValueHolder.shuffleDeck[i] == "13s")
{
ValueHolder.shuffleDeck[i] = ValueHolder.CardValue.KING.ToString();
Debug.Log(ValueHolder.shuffleDeck[i]);
}
}
}
I created this method and it can now convert the string array to the enum
I know it's not the efficient way but it's working .