그래서 어떻게 비교 할 경우에만 두 객체가 다른 enum
색상이 숫자 카드 숫자 다른 카드 object(card2)
의 enum
에 object(card1)
의 enum
?는 객체의 특정 열거 비교
public enum Number
{
card_0,card_1
}
public enum Color
{
Red
}
public Card(int fNum, int fCol)
{
Number num = (Number)fNum;
Color color = (Color)fCol;
}
예를 들어, card1은 card_0이고 red는 card_0이며 card2는 card_1 및 red입니다. 2 장의 카드는 서로 다른 목록에 있습니다. 하나는 플레이어의 손이고 나머지 하나는 버려진 더미에 있습니다. 따라서 숫자 또는 색상의 enum
을 어떻게 비교하여 카드를 버리기 더미에 수락할지 아니면 카드를 수락 할지를 알 수 있습니다. 이를 거절하고 그것이 재생 가능한 카드가 아니라고 말하십시오.
if(/* Compare card1 and card2 */)
{
discardPile.Add(card1);
hand.RemoveAt(/* Location of card1*/);
}
else
{
/* do something */
}
미리 감사드립니다.
public bool DiscardOnTopAllowed(Card otherCard)
{
bool allowed = false;
if (Color == otherCard.Color)
allowed = true;
else if (Number == otherCard.Number)
allowed = true;
return allowed;
}
물론 그를 작성 덜 장황 가지 방법이 있습니다,하지만 난 당신이 학습되기 때문에 슈퍼 명시 적으로 그것을 유지하기 위해 노력 :
좀 더 구체적으로 기재 할 수 있습니까? 분명히 번호를 비교하는 방법을 쓸 수 있습니다 ... – BradleyDotNET
나는 당신이 당신의 문제를 더 잘 설명하려고 노력해야한다고 생각합니다. 나를 위해, 그것은 전혀 분명하지 않다. – Willz
좋아요. 저는 현재 UNO와 비슷한 게임을 만들고 있습니다. 그래서 나는 버려야 할 카드가 버려지는 카드 더미의 상단과 같은 번호 또는 같은 색깔을 가지고 있는지 비교해야합니다. 열거 형을 사용하여 숫자와 색상에 레이블을 지정하기 때문에 어떻게 비교합니까? 소리가 좋아 지나요? – xwillflame