Beispiel #1
0
 static void PrintPassedResultByNumber(PositionsNumberType players, OutputResultType output)
 {
     Console.WriteLine("Pair 1: " + (players.decl1) + " - " + (players.decl2));
     Console.WriteLine("Pair 2: " + (players.def1) + " - " + (players.def2));
     Console.WriteLine("Passed out\n");
     Console.WriteLine("Overall and bidding score: {0:N2} / {1:N2} ", output.overallDecl, (-output.overallDecl));
 }
Beispiel #2
0
        static void PrintPlayedResultByNumber(PositionsNumberType players, OutputResultType output)
        {
            Console.WriteLine("Declaring pair: " + (players.decl1) + " - " + (players.decl2) + " (declarer is " + (output.declFlag1 ? "first" : "second") + " player)");
            Console.WriteLine("Defending pair: " + (players.def1) + " - " + (players.def2) + " (opening leader is " + (output.leadFlag1 ? "first" : "second") + " player)");

            PrintPlayedResultNumerical(output);
        }
Beispiel #3
0
 static void PrintPlayedResultNumerical(OutputResultType output)
 {
     Console.WriteLine("Overall score:       {0:N2} / {1:N2} ", output.overallDecl, (-output.overallDecl));
     Console.WriteLine("Bidding score:       {0:N2} / {1:N2} ", output.bidScoreDecl, (-output.bidScoreDecl));
     Console.WriteLine("Declarer play score: {0:N2}          ", (output.declFlag1 ? output.playScoreDecl[0] : output.playScoreDecl[1]));
     Console.WriteLine("Lead score:                / {0:N2} ", (output.leadFlag1 ? output.leadScoreDef[0] : output.leadScoreDef[1]));
     Console.WriteLine("Rest defense score:        / {0:N2} ", output.restScoreDef);
 }
Beispiel #4
0
 public static extern bool ValetGetNextScoreByNumber(ref PositionsNumberType players, ref OutputResultType output);
Beispiel #5
0
 public static extern bool ValetGetNextScoreByTag(ref PositionsTagType players, ref OutputResultType output);
Beispiel #6
0
 public static extern bool ValetGetNextScoreByTag(ref PositionsTagType players, ref OutputResultType output);
Beispiel #7
0
 public static extern bool ValetGetNextScoreByNumber(ref PositionsNumberType players, ref OutputResultType output);
Beispiel #8
0
        static void Main(string[] args)
        {
            int mode = GetMode(args);

            if (mode == -1)
            {
                Usage(args);
            }
            else
            {
                ControlType control = new ControlType();
                control.valet             = 1; // VALET_SCORING_IAF;
                control.leadFlag          = true;
                control.datumHardRounding = false;

                int    errorCode;
                char[] line = new char[160];
                if ((errorCode = VlibImport.ValetSetControl(ref control)) != RETURN_NO_FAULT)
                {
                    VlibImport.ValetErrorMessage(errorCode, line);
                    Console.WriteLine(line);
                }
                else
                {
                    VlibImport.ValetClear();
                    VlibImport.ValetSetBoardNumber(1);
                    if (mode == 0)
                    {
                        for (int i = 0; i < TEST_ENTRIES; i++)
                        {
                            char[] inputline = (example[i] + "\0").ToCharArray();
                            if ((errorCode = VlibImport.ValetAddByLine(inputline)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(example[i]);
                                Console.WriteLine(line);
                            }
                        }
                    }
                    else if (mode == 1)
                    {
                        PlayersTagType  players = new PlayersTagType();
                        InputResultType input   = new InputResultType();

                        for (uint i = 0; i < TEST_ENTRIES; i++)
                        {
                            SetTagInputs(ref players, ref input, i);

                            if ((errorCode = VlibImport.ValetAddByTag(ref players, ref input)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(line);
                            }
                        }
                    }
                    else
                    {
                        PlayersNumberType players = new PlayersNumberType();
                        InputResultType   input   = new InputResultType();

                        for (uint i = 0; i < TEST_ENTRIES; i++)
                        {
                            SetNumberInputs(ref players, ref input, i);

                            if ((errorCode = VlibImport.ValetAddByNumber(ref players, ref input)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(line);
                            }
                        }
                    }

                    VlibImport.ValetCalculate();

                    if (mode == 0 || mode == 1)
                    {
                        PositionsTagType players = new PositionsTagType();
                        OutputResultType output  = new OutputResultType();

                        while (VlibImport.ValetGetNextScoreByTag(ref players, ref output))
                        {
                            if (!output.declFlag1 && !output.declFlag2)
                            {
                                PrintPassedResultByTag(players, output);
                            }
                            else
                            {
                                PrintPlayedResultByTag(players, output);
                            }
                            Console.WriteLine();
                        }
                    }
                    else
                    {
                        PositionsNumberType players = new PositionsNumberType();
                        OutputResultType    output  = new OutputResultType();

                        while (VlibImport.ValetGetNextScoreByNumber(ref players, ref output))
                        {
                            if (players.decl1 == 0 ||
                                players.decl2 == 0 ||
                                players.def1 == 0 ||
                                players.def1 == 0)
                            {
                                Console.WriteLine("A player tag was not numerical");
                            }
                            else
                            {
                                if (!output.declFlag1 && !output.declFlag2)
                                {
                                    PrintPassedResultByNumber(players, output);
                                }
                                else
                                {
                                    PrintPlayedResultByNumber(players, output);
                                }
                            }

                            Console.WriteLine();
                        }
                    }
                }
            }
            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            int mode = GetMode(args);
            if (mode == -1)
            {
                Usage(args);
            }
            else
            {
                ControlType control = new ControlType();
                control.valet = 1; // VALET_SCORING_IAF;
                control.leadFlag = true;
                control.datumHardRounding = false;

                int errorCode;
                char[] line = new char[160];
                if ((errorCode = VlibImport.ValetSetControl(ref control)) != RETURN_NO_FAULT)
                {
                    VlibImport.ValetErrorMessage(errorCode, line);
                    Console.WriteLine(line);
                } else
                {
                    VlibImport.ValetClear();
                    VlibImport.ValetSetBoardNumber(1);
                    if (mode == 0)
                    {
                        for (int i = 0; i < TEST_ENTRIES; i++)
                        {
                            char[] inputline = (example[i] + "\0").ToCharArray();
                            if ((errorCode = VlibImport.ValetAddByLine(inputline)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(example[i]);
                                Console.WriteLine(line);
                            }
                        }
                    }
                    else if (mode == 1)
                    {
                        PlayersTagType players = new PlayersTagType();
                        InputResultType input = new InputResultType();

                        for (uint i = 0; i < TEST_ENTRIES; i++)
                        {
                            SetTagInputs(ref players, ref input, i);

                            if ((errorCode = VlibImport.ValetAddByTag( ref players, ref input)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(line);
                            }
                        }
                    }
                    else
                    {
                        PlayersNumberType players = new PlayersNumberType();
                        InputResultType input = new InputResultType();

                        for (uint i = 0; i < TEST_ENTRIES; i++)
                        {
                            SetNumberInputs(ref players, ref input, i);

                            if ((errorCode = VlibImport.ValetAddByNumber(ref players, ref input)) != RETURN_NO_FAULT)
                            {
                                VlibImport.ValetErrorMessage(errorCode, line);
                                Console.WriteLine(line);
                            }
                        }
                    }

                    VlibImport.ValetCalculate();

                    if (mode == 0 || mode == 1)
                    {
                        PositionsTagType players = new PositionsTagType();
                        OutputResultType output = new OutputResultType();

                        while (VlibImport.ValetGetNextScoreByTag(ref players, ref output))
                        {
                            if (!output.declFlag1 && !output.declFlag2)
                                PrintPassedResultByTag(players, output);
                            else
                                PrintPlayedResultByTag(players, output);
                            Console.WriteLine();
                        }
                    }
                    else
                    {
                        PositionsNumberType players = new PositionsNumberType();
                        OutputResultType output = new OutputResultType();

                        while (VlibImport.ValetGetNextScoreByNumber(ref players, ref output))
                        {
                            if (players.decl1 == 0 ||
                                players.decl2 == 0 ||
                                players.def1 == 0 ||
                                players.def1 == 0)
                            {
                                Console.WriteLine("A player tag was not numerical");
                            } else
                            {
                                if (!output.declFlag1 && !output.declFlag2)
                                    PrintPassedResultByNumber(players, output);
                                else
                                    PrintPlayedResultByNumber(players, output);
                            }

                            Console.WriteLine();
                        }
                    }

                }

            }
            Console.WriteLine("Press any key to exit");
            Console.ReadKey();
        }
Beispiel #10
0
 static void PrintPlayedResultNumerical(OutputResultType output)
 {
     Console.WriteLine("Overall score:       {0:N2} / {1:N2} ", output.overallDecl, (-output.overallDecl));
     Console.WriteLine("Bidding score:       {0:N2} / {1:N2} ", output.bidScoreDecl, (-output.bidScoreDecl));
     Console.WriteLine("Declarer play score: {0:N2}          ", (output.declFlag1 ? output.playScoreDecl[0] : output.playScoreDecl[1]));
     Console.WriteLine("Lead score:                / {0:N2} ", (output.leadFlag1 ? output.leadScoreDef[0] : output.leadScoreDef[1]));
     Console.WriteLine("Rest defense score:        / {0:N2} ", output.restScoreDef);
 }
Beispiel #11
0
        static void PrintPlayedResultByTag(PositionsTagType players, OutputResultType output)
        {
            Console.WriteLine("Declaring pair: " + (players.decl1) + " - " + (players.decl2) + " (declarer is " + (output.declFlag1 ? "first" : "second") + " player)");
            Console.WriteLine("Defending pair: " + (players.def1) + " - " + (players.def2) + " (opening leader is " + (output.leadFlag1 ? "first" : "second") + " player)");

            PrintPlayedResultNumerical(output);
        }
Beispiel #12
0
 static void PrintPassedResultByTag(PositionsTagType players,  OutputResultType output)
 {
     Console.WriteLine("Pair 1: " + (players.decl1) + " - " + (players.decl2));
     Console.WriteLine("Pair 2: " + (players.def1) + " - " + (players.def2));
     Console.WriteLine("Passed out");
     Console.WriteLine("Overall and bidding score: ({0:N2} / { 0:N2}", output.overallDecl, (-output.overallDecl));
 }