유 니 티 개발 두 지주 알고리즘 - 두 손 카드 의 크기 비교
7348 단어 unity3d
다음은 코드.
#region isSelectCardCanPut
public static bool isSelectCardCanPut(List myCards,DDZ_POKER_TYPE myCardType, List lastCards, DDZ_POKER_TYPE lastCardTye)
{
// null
if (myCards == null || lastCards == null)
{
return false;
}
if (myCardType == null || lastCardTye == null)
{
Debug.Log(" , 。");
return false;
}
//
int prevSize = lastCards.Count;
int mySize = myCards.Count;
// ,
if (prevSize == 0 && mySize != 0)
{
return true;
}
// ,
if (lastCardTye == DDZ_POKER_TYPE.KingBomb)
{
Debug.Log(" , 。");
return false;
}
else if (myCardType == DDZ_POKER_TYPE.KingBomb)
{
Debug.Log(" , 。");
return true;
}
// ,
if (lastCardTye != DDZ_POKER_TYPE.FourBomb && myCardType == DDZ_POKER_TYPE.FourBomb)
{
return true;
}
//
int myGrade = myCards[0];
int prevGrade = lastCards[0];
// 2 , 2 ,1. , ;
// 2. , ,
//
//
if (lastCardTye == DDZ_POKER_TYPE.Single && myCardType == DDZ_POKER_TYPE.Single)
{
//
return compareGrade(myGrade, prevGrade);
}
//
else if (lastCardTye == DDZ_POKER_TYPE.Twin
&& myCardType == DDZ_POKER_TYPE.Twin)
{
// 2
return compareGrade(myGrade, prevGrade);
}
// 3
else if (lastCardTye == DDZ_POKER_TYPE.Triple
&& myCardType == DDZ_POKER_TYPE.Triple)
{
// 3
return compareGrade(myGrade, prevGrade);
}
//
else if (lastCardTye == DDZ_POKER_TYPE.FourBomb
&& myCardType == DDZ_POKER_TYPE.FourBomb)
{
// 4
return compareGrade(myGrade, prevGrade);
}
// 3 1
else if (lastCardTye == DDZ_POKER_TYPE.TripleWithSingle)
{
// 3 1 2
myGrade = myCards[1];
prevGrade = lastCards[1];
return compareGrade(myGrade, prevGrade);
}
else if (lastCardTye == DDZ_POKER_TYPE.TripleWithTwin)
{
// 3 2 3
myGrade = myCards[2];
prevGrade = lastCards[2];
return compareGrade(myGrade, prevGrade);
}
// 4 2
else if (lastCardTye == DDZ_POKER_TYPE.FourWithSingle
&& myCardType == DDZ_POKER_TYPE.FourWithSingle)
{
// 4 2 3
myGrade = myCards[2];
prevGrade = lastCards[2];
}
// 4 2
else if (lastCardTye == DDZ_POKER_TYPE.FourWithSingle
&& myCardType == DDZ_POKER_TYPE.FourWithSingle)
{
myGrade = myCards[2];
prevGrade = lastCards[2];
}
//
else if (lastCardTye == DDZ_POKER_TYPE.StraightSingle
&& myCardType == DDZ_POKER_TYPE.StraightSingle)
{
if (mySize != prevSize)
{
return false;
}
else
{
// 1
myGrade = myCards[mySize-1];
prevGrade = lastCards[prevSize - 1];
return compareGrade(myGrade, prevGrade);
}
}
//
else if (lastCardTye == DDZ_POKER_TYPE.StraightTwin
&& myCardType == DDZ_POKER_TYPE.StraightTwin)
{
if (mySize != prevSize)
{
return false;
}
else
{
// 1
myGrade = myCards[mySize - 1];
prevGrade = lastCards[prevSize - 1];
return compareGrade(myGrade, prevGrade);
}
}
//
else if (lastCardTye == DDZ_POKER_TYPE.PlanePure
&& myCardType == DDZ_POKER_TYPE.PlanePure)
{
if (mySize != prevSize)
{
return false;
}
else
{
//333444555666
myGrade = myCards[4];
prevGrade = lastCards[4];
return compareGrade(myGrade, prevGrade);
}
}
//
else if (lastCardTye == DDZ_POKER_TYPE.PlaneWithSingle
&& myCardType == DDZ_POKER_TYPE.PlaneWithSingle)
{
if (mySize != prevSize)
{
return false;
}
else
{
List tempThreeList = new List();
for (int i = 0; i < myCards.Count; i++)
{
int tempInt = 0;
for (int j = 0; j < myCards.Count; j++)
{
if (myCards[i] == myCards[j])
{
tempInt++;
}
}
if (tempInt == 3)
{
tempThreeList.Add(myCards[i]);
}
}
myGrade = tempThreeList[4];
prevGrade = lastCards[4];
return compareGrade(myGrade, prevGrade);
}
}
//
else if (lastCardTye == DDZ_POKER_TYPE.PlaneWithTwin
&& myCardType == DDZ_POKER_TYPE.PlaneWithTwin)
{
if (mySize != prevSize)
{
return false;
}
else
{
List tempThreeList = new List();
List tempTwoList = new List();
for (int i = 0; i < myCards.Count; i++)
{
int tempInt = 0;
for (int j = 0; j < myCards.Count; j++)
{
if (myCards[i] == myCards[j])
{
tempInt++;
}
}
if (tempInt == 3)
{
tempThreeList.Add(myCards[i]);
}
else if (tempInt == 2)
{
tempTwoList.Add(myCards[i]);
}
}
myGrade = tempThreeList[4];
prevGrade = lastCards[4];
if (compareGrade(myGrade, prevGrade))
{
return DDZCardRule.IsAllDouble(tempTwoList);
}
}
}
//
return false;
}
#endregion
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Unity용 VLC 소개 - Android 에디션숙련된 Unity 개발자는 유명한 Big Buck Bunny 비디오를 재생하는 VLC 플러그인을 보여주기 위해 편집된 유명한 Unity 장면 을 인식할 것입니다. 이 Unity 플러그인을 사용하면 Unity 기반 A...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.