Beispiel #1
0
 public void RPC_SubmitCard(Card card, int playerID)//master client에게 승부를 가를 카드를 1개씩 제출(자신을 구별할수 있게 id도 제출)
 {
     if (submittedInfos == null)
     {
         submittedInfos = new SubmittedInfo[GameStaticVariable.maxPlayer];//만약 초기화 안되었을시 유저들이 제출한 카드를 저장할 배열초기화
     }
     submittedInfos[currentSubmittedNum++] = new SubmittedInfo(card, playerID);
 }
Beispiel #2
0
 public bool Brawl(out SubmittedInfo winner)//승패가 정해지면 true,아니면 false
 {
     if (currentSubmittedNum == 0)
     {
         Debug.LogError("Tried to divide by 0");
     }
     for (int i = 0; i < currentSubmittedNum; i++)
     {
         int winCount = 0;
         for (int j = 0; j < currentSubmittedNum; j++)
         {
             if (i == j)
             {
                 continue;//같은카드는 검사하지 않는다
             }
             FightResult result = submittedInfos[i].GetCard().Fight(submittedInfos[j].GetCard());
             if (result == FightResult.Win)
             {
                 winCount++;
                 if (winCount == currentSubmittedNum - 1)//모든놈 다이김
                 {
                     winner = submittedInfos[i];
                     return(true);
                     //i가 이김
                 }
                 continue;//모두를 이겼는지 확인해야하므로 다음상대와 검사
             }
             else
             {
                 break;//이미 이길수가 없으므로 다음카드부터 검사
             }
         }
     }
     winner = null;
     return(false);//아무도 이기지 못함
 }