예제 #1
0
        void WstawOstatniaLinie(Table table, int[] imp)
        {
            Row row2   = table.AddRow();
            int impsns = 0;
            int impsew = 0;

            for (int i = 0; i < Ustawienia.ilosc_rozdan; i++)
            {
                if (imp[i] > 0)
                {
                    impsns += imp[i];
                }
                else
                {
                    impsew -= imp[i];
                }
            }
            row2.Borders.Left.Width       = 0;
            row2.Borders.Right.Width      = 0;
            row2.Borders.Bottom.Width     = 0;
            row2[11].Borders.Left.Width   = 1.0;
            row2[11].Borders.Right.Width  = 1.0;
            row2[11].Borders.Bottom.Width = 1.0;
            row2[12].Borders      = row2[11].Borders.Clone();
            row2.Format.Alignment = ParagraphAlignment.Center;
            row2.Cells[11].AddParagraph(impsns.ToString());
            row2.Cells[12].AddParagraph(impsew.ToString());

            if (Ustawienia.deepfin)
            {
                Row row = table.AddRow();

                int    deltaimp  = Math.Abs(impsew - impsns);
                double winnersVP = InfoBridge.wylicz_vp(deltaimp, Ustawienia.ilosc_rozdan);

                row.Borders.Left.Width       = 0;
                row.Borders.Right.Width      = 0;
                row.Borders.Bottom.Width     = 0;
                row.Borders.Top.Width        = 0;
                row[11].Borders.Left.Width   = 1.0;
                row[11].Borders.Right.Width  = 1.0;
                row[11].Borders.Bottom.Width = 1.0;
                row[11].Borders.Top.Width    = 1.0;
                row[12].Borders      = row2[11].Borders.Clone();
                row.Format.Alignment = ParagraphAlignment.Center;
                if (impsns > impsew)
                {
                    row.Cells[11].AddParagraph(winnersVP.ToString());
                    row.Cells[12].AddParagraph((20 - winnersVP).ToString());
                }
                else
                {
                    row.Cells[12].AddParagraph(winnersVP.ToString());
                    row.Cells[11].AddParagraph((20 - winnersVP).ToString());
                }
            }
        }
예제 #2
0
        private int[] wyliczimpy(List <InfoBoard> table1, List <InfoBoard> table2)
        {
            int[] mecz = new int[Ustawienia.ilosc_rozdan + 1];

            for (int i = 0; i < Ustawienia.ilosc_rozdan; i++)
            {
                int saldo = table1[i].score - table2[i].score;
                mecz[i] = InfoBridge.wylicz_impy(Math.Abs(saldo));
                if (saldo < 0)
                {
                    mecz[i] *= -1;
                }
            }

            return(mecz);
        }
예제 #3
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);
        }
예제 #4
0
        public Document CreateTreningDOC()
        {
            Section section = document.AddSection();


            PageSettings(section);

            Paragraph p = section.AddParagraph();

            MakeTable11();

            if (Ustawienia.deepfin)
            {
                lewy = InfoBridge.wylicz_DF(game.rozklady);
            }

            for (int i = 1; i < Ustawienia.ilosc_rozdan + 1; i++)
            {
                // if (i != 0)
                document.AddSection();
                CreateBoard(i - 1, game.rozklady[i]);
                Paragraph pbreak = document.LastSection.AddParagraph();
                pbreak.AddLineBreak();
                pbreak.AddLineBreak();
                pbreak.AddFormattedText("Liczba lew do wzięcia : ", font_normal);
                pbreak.AddLineBreak();
                pbreak.AddLineBreak();
                if (Ustawienia.deepfin)
                {
                    CreateDF(i);
                }


                CreateBidding(i - 1);


                //       WriteLineKontrakt(game.ContractList[i], vugraph.Vu_ContractList_Open[i], vugraph.Vu_ContractList_Closed[i]);

                WriteCommentTitle();
            }

            MigraDoc.DocumentObjectModel.Shapes.Image reklama = new MigraDoc.DocumentObjectModel.Shapes.Image("images\\reklama.png");

            reklama.Height = Unit.FromCentimeter(8.0);
            reklama.Width  = Unit.FromCentimeter(12.0);

            reklama.WrapFormat.DistanceTop  = Unit.FromCentimeter(1.0);
            reklama.WrapFormat.DistanceLeft = Unit.FromCentimeter(2.0);

            document.LastSection.Add(reklama);
            document.UseCmykColor = true;

            document.Info.Author = "Maciej Bielawski";


            string ddl = MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToString(document);

            /*
             * RtfDocumentRenderer renderer = new RtfDocumentRenderer();
             *     renderer.Render(document,"Test.doc", null);
             *
             * Process.Start("Test.doc");*/

            return(document);
        }
예제 #5
0
        public Document CreateTreningDOC()
        {
            Section section = document.AddSection();

            PageSettings(section);
            if (Ustawienia.deepfin)
            {
                lewy = InfoBridge.wylicz_DF(vugraph1.rozklady);
            }
            imps1 = new int[Ustawienia.ilosc_rozdan];
            imps2 = new int[Ustawienia.ilosc_rozdan];
            imps1 = wyliczimpy(vugraph1.Vu_ContractList_Open, vugraph1.Vu_ContractList_Closed);
            imps2 = wyliczimpy(vugraph2.Vu_ContractList_Open, vugraph2.Vu_ContractList_Closed);
            for (int i = 0; i < Ustawienia.ilosc_rozdan; i++)
            {
                if (i != 0)
                {
                    document.AddSection();
                }

                CreateBoard(i, vugraph1.rozklady[i]);
                if (Ustawienia.deepfin)
                {
                    CreateDF(i);
                }

                //pierwsza tabela licytacji
                CreateBidding(i, vugraph1);
                WriteLineKontrakt(vugraph1.Vu_ContractList_Open[i], vugraph1.Vu_ContractList_Closed[i]);
                if (imps1[i] != 0)
                {
                    Paragraph p = new Paragraph();
                    p.AddLineBreak();
                    p.AddFormattedText("Wynik : ");
                    p.AddFormattedText(imps1[i].ToString());
                    if (imps1[i] > 0)
                    {
                        p.AddFormattedText(imps1[i].ToString());
                        p.AddFormattedText(" imp dla " + vugraph1.team1Name);
                    }
                    if (imps1[i] < 0)
                    {
                        p.AddFormattedText((-imps1[i]).ToString());
                        p.AddFormattedText(" imp dla " + vugraph1.team2Name);
                    }
                    p.AddLineBreak();
                    document.LastSection.Add(p);
                }
                // druga tabela licytacji
                CreateBidding(i, vugraph2);
                WriteLineKontrakt(vugraph2.Vu_ContractList_Open[i], vugraph2.Vu_ContractList_Closed[i]);
                if (imps2[i] != 0)
                {
                    Paragraph p = new Paragraph();
                    p.AddLineBreak();
                    p.AddFormattedText("Wynik : ");
                    p.AddFormattedText(imps2[i].ToString());
                    if (imps2[i] > 0)
                    {
                        p.AddFormattedText(imps2[i].ToString());
                        p.AddFormattedText(" imp dla " + vugraph2.team1Name);
                    }
                    if (imps2[i] < 0)
                    {
                        p.AddFormattedText((-imps2[i]).ToString());
                        p.AddFormattedText(" imp dla " + vugraph2.team2Name);
                    }
                    p.AddLineBreak();
                    document.LastSection.Add(p);
                }
            }
            MakeTable33(vugraph1);
            MakeTable33(vugraph2);


            MigraDoc.DocumentObjectModel.Shapes.Image reklama = new MigraDoc.DocumentObjectModel.Shapes.Image("images\\reklama.png");

            reklama.Height = Unit.FromCentimeter(6.5);
            reklama.Width  = Unit.FromCentimeter(12.0);

            reklama.WrapFormat.DistanceTop  = Unit.FromCentimeter(1.0);
            reklama.WrapFormat.DistanceLeft = Unit.FromCentimeter(2.0);

            document.LastSection.Add(reklama);
            document.UseCmykColor = true;


            string ddl = MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToString(document);


            // RtfDocumentRenderer renderer = new RtfDocumentRenderer();
            // renderer.Render(document, "Test.doc", null);

            // Process.Start("Test.doc");

            return(document);
        }
예제 #6
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;
            }
        }
예제 #7
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;
                    }
                }
            }
        }
예제 #8
0
        public Document CreateTreningDOC()
        {
            Section section = document.AddSection();


            PageSettings(section);

            Paragraph p = section.AddParagraph();

            /*  int[] imp = wyliczimpy(vugraph1.Vu_ContractList_Open, vugraph1.Vu_ContractList_Closed);
             *
             * int impsns = 0, impsew = 0;
             * for (int i = 0; i < Ustawienia.ilosc_rozdan; i++)
             * {
             *    if (imp[i] > 0)
             *        impsns += imp[i];
             *    else
             *        impsew -= imp[i];
             * }
             * p.AddFormattedText("Rezultat segmentu w meczu orginalnym " + vugraph.team1Name + " - " + vugraph.team2Name + " " + impsns.ToString() + ":" + impsew.ToString(), font_tytuly);
             * p.AddLineBreak();
             * p.AddLineBreak();
             * p.AddFormattedText("Poniżej porównanie meczu treningowego do dwóch pozostałych stołów", font_normal);
             * p.AddLineBreak();
             * p.AddLineBreak();
             */
            MakeTable33(vugraph1);
            MakeTable33(vugraph2);

            //   int[,,] lewy;

            if (Ustawienia.deepfin)
            {
                lewy = InfoBridge.wylicz_DF(vugraph1.rozklady);
            }
            for (int i = 0; i < Ustawienia.ilosc_rozdan; i++)
            {
                // if (i != 0)
                document.AddSection();
                CreateBoard(i, vugraph1.rozklady[i]);
                Paragraph pbreak = document.LastSection.AddParagraph();
                pbreak.AddLineBreak();
                pbreak.AddLineBreak();
                pbreak.AddFormattedText("Liczba lew do wzięcia : ", font_normal);
                pbreak.AddLineBreak();
                pbreak.AddLineBreak();
                if (Ustawienia.deepfin)
                {
                    CreateDF(i);
                }


                CreateBidding(i);


                //      WriteLineKontrakt(game.ContractList[i], vugraph.Vu_ContractList_Open[i], vugraph.Vu_ContractList_Closed[i]);

                // WriteCommentTitle();
            }

            MigraDoc.DocumentObjectModel.Shapes.Image reklama = new MigraDoc.DocumentObjectModel.Shapes.Image("images\\reklama.png");

            reklama.Height = Unit.FromCentimeter(8.0);
            reklama.Width  = Unit.FromCentimeter(12.0);

            reklama.WrapFormat.DistanceTop  = Unit.FromCentimeter(1.0);
            reklama.WrapFormat.DistanceLeft = Unit.FromCentimeter(2.0);

            document.LastSection.Add(reklama);
            document.UseCmykColor = true;

            document.Info.Author = "Maciej Bielawski";


            string ddl = MigraDoc.DocumentObjectModel.IO.DdlWriter.WriteToString(document);

            /*
             * RtfDocumentRenderer renderer = new RtfDocumentRenderer();
             *     renderer.Render(document,"Test.doc", null);
             *
             * Process.Start("Test.doc");*/

            return(document);
        }