コード例 #1
0
ファイル: RobberControl.cs プロジェクト: ukrbublik/BridgeNote
        public void SetTotalScore(RobberScore rs)
        {
            bool bNS = false, bEW = false;
            int iNS = 0, iEW = 0;
            int iNS_total = 0, iEW_total = 0;
            for (int i = 0; i < ScoreArray.Count; i++)
            {
                // если сдача незавершена
                if (ScoreArray[i] == null || ScoreArray[i].IsEmpty())
                {
                    rs.SetScore(iNS_total, iEW_total, false);
                    return;
                }

                iNS += ScoreArray[i].NS_down;
                iEW += ScoreArray[i].EW_down;
                iNS_total += ScoreArray[i].NS_down;
                if (ScoreArray[i].NS_up != null)
                    for (int j = 0; j < ScoreArray[i].NS_up.Length; j++)
                        iNS_total += ScoreArray[i].NS_up[j];
                iEW_total += ScoreArray[i].EW_down;
                if (ScoreArray[i].EW_up != null)
                    for (int j = 0; j < ScoreArray[i].EW_up.Length; j++)
                        iEW_total += ScoreArray[i].EW_up[j];

                if (iEW >= 100)
                {
                    if (bEW)
                    {
                        // Роббер завершен.
                        rs.SetScore(iNS_total, iEW_total, true);
                        return;
                    }
                    bEW = true;
                    iNS = iEW = 0;
                }
                else if (iNS >= 100)
                {
                    if (bNS)
                    {
                        // Роббер завершен.
                        rs.SetScore(iNS_total, iEW_total, true);
                        return;
                    }
                    bNS = true;
                    iNS = iEW = 0;
                }
            }

            // Роббер не завершен
            rs.SetScore(iNS_total, iEW_total, false);
        }
コード例 #2
0
        public void SetTotalScore(RobberScore rs)
        {
            bool bNS = false, bEW = false;
            int  iNS = 0, iEW = 0;
            int  iNS_total = 0, iEW_total = 0;

            for (int i = 0; i < ScoreArray.Count; i++)
            {
                // если сдача незавершена
                if (ScoreArray[i] == null || ScoreArray[i].IsEmpty())
                {
                    rs.SetScore(iNS_total, iEW_total, false);
                    return;
                }

                iNS       += ScoreArray[i].NS_down;
                iEW       += ScoreArray[i].EW_down;
                iNS_total += ScoreArray[i].NS_down;
                if (ScoreArray[i].NS_up != null)
                {
                    for (int j = 0; j < ScoreArray[i].NS_up.Length; j++)
                    {
                        iNS_total += ScoreArray[i].NS_up[j];
                    }
                }
                iEW_total += ScoreArray[i].EW_down;
                if (ScoreArray[i].EW_up != null)
                {
                    for (int j = 0; j < ScoreArray[i].EW_up.Length; j++)
                    {
                        iEW_total += ScoreArray[i].EW_up[j];
                    }
                }

                if (iEW >= 100)
                {
                    if (bEW)
                    {
                        // Роббер завершен.
                        rs.SetScore(iNS_total, iEW_total, true);
                        return;
                    }
                    bEW = true;
                    iNS = iEW = 0;
                }
                else if (iNS >= 100)
                {
                    if (bNS)
                    {
                        // Роббер завершен.
                        rs.SetScore(iNS_total, iEW_total, true);
                        return;
                    }
                    bNS = true;
                    iNS = iEW = 0;
                }
            }

            // Роббер не завершен
            rs.SetScore(iNS_total, iEW_total, false);
        }