예제 #1
0
        private void MakeBoard(string ciagwynikow, int j)
        {
            InfoBoard node = new InfoBoard();
            int       i    = 0;

            node.nr    = j / 2 + 1;
            node.level = int.Parse(ciagwynikow[i].ToString());
            i++;
            node.suit = ciagwynikow[i].ToString();
            i++;
            node.declarer = ciagwynikow[i].ToString();
            i++;
            string elem = ciagwynikow[i].ToString();

            if (elem == "x")
            {
                node.kontra = true;
                i++;
                if (ciagwynikow[i].ToString() == "x")
                {
                    node.rekontra = true;
                    i++;
                }
            }
            if (ciagwynikow[i].ToString() != "=")
            {
                node.nadrobek = int.Parse(ciagwynikow[i].ToString() + ciagwynikow[i + 1].ToString());
                i            += 3;
                node.lew      = node.nadrobek.ToString();
            }
            else
            {
                i       += 2;
                node.lew = "=";
            }

            if (node.nadrobek < 0)
            {
                node.realizacja = false;
            }

            node.score = InfoBridge.oblicz_zapis(node);


            ContractList.Add(node);
        }
예제 #2
0
        private void MakeBoard(string ciagwynikow, int j)
        {
            InfoBoard node = new InfoBoard();
            int       i    = 0;

            node.nr    = j / 2 + 1;
            node.level = int.Parse(ciagwynikow[i].ToString());
            i++;
            node.suit = ciagwynikow[i].ToString();
            i++;
            node.declarer = ciagwynikow[i].ToString();
            i++;
            string elem = ciagwynikow[i].ToString();

            if (elem == "x")
            {
                node.kontra = true;
                i++;
                if (ciagwynikow[i].ToString() == "x")
                {
                    node.rekontra = true;
                    i++;
                }
            }
            if (ciagwynikow[i].ToString() != "=")
            {
                node.nadrobek = int.Parse(ciagwynikow[i].ToString() + ciagwynikow[i + 1].ToString());
                i            += 3;
                node.lew      = node.nadrobek.ToString();
            }
            else
            {
                i       += 2;
                node.lew = "=";
            }

            if (node.nadrobek < 0)
            {
                node.realizacja = false;
            }

            node.wist  = wisty[j];
            node.score = InfoBridge.oblicz_zapis(node);

            if (j % 2 == 0)
            {
                //kontrolka_vu2.Add(node);

                Vu_ContractList_Open.Add(node);

                // vu2_zapisy[(j - 1) / 2 + 1] = node.score;
            }
            else
            {
                //kontrola_vu1.Add(node);

                Vu_ContractList_Closed.Add(node);

                //vu1_zapisy[(j - 1) / 2 + 1] = node.score;
            }
        }
예제 #3
0
        public void WczytajVuKontrakty(string[] input)
        {
            Vu_ContractList_Closed = new List <InfoBoard>();
            Vu_ContractList_Open   = new List <InfoBoard>();

            for (int j = 0; j < input.Count(); j++)
            {
                InfoBoard node        = new InfoBoard();
                int       i           = 0;
                string    ciagwynikow = input[j];
                if (ciagwynikow == "P")
                {
                    node.declarer = " ";
                    node.level    = 0;
                    node.lew      = "-";
                    node.score    = 0;
                }
                else
                {
                    node.nr    = j / 2 + 1;
                    node.level = int.Parse(ciagwynikow[i].ToString());
                    i++;
                    node.suit = ciagwynikow[i].ToString();
                    i++;
                    node.declarer = ciagwynikow[i].ToString();
                    i++;
                    string elem = ciagwynikow[i].ToString();
                    if (elem == "x")
                    {
                        node.kontra = true;
                        i++;
                        if (ciagwynikow[i].ToString() == "x")
                        {
                            node.rekontra = true;
                            i++;
                        }
                    }
                    if (ciagwynikow[i].ToString() != "=")
                    {
                        node.nadrobek = int.Parse(ciagwynikow[i].ToString() + ciagwynikow[i + 1].ToString());
                        i            += 3;
                        node.lew      = node.nadrobek.ToString();
                    }
                    else
                    {
                        i       += 2;
                        node.lew = "=";
                    }

                    if (node.nadrobek < 0)
                    {
                        node.realizacja = false;
                    }

                    node.score = InfoBridge.oblicz_zapis(node);

                    if (j % 2 == 0)
                    {
                        //kontrolka_vu2.Add(node);
                        Vu_ContractList_Open.Add(node);
                        // vu2_zapisy[(j - 1) / 2 + 1] = node.score;
                    }
                    else
                    {
                        //kontrola_vu1.Add(node);
                        Vu_ContractList_Closed.Add(node);
                        //vu1_zapisy[(j - 1) / 2 + 1] = node.score;
                    }
                }
            }
        }