Beispiel #1
0
        static void Main(string[] args)
        {
            CgTimeStampSource.SupplyAlternateProvider(HpTimeStampProvider.CreateInstance());
            TimeStampSource.Calibrate();
            var gameFactories = new ClortonGameFactorySource();

            (bool gotFileOk, string errorGettingFile, FileInfo outputFile, int numGames, VaultType varietyOfVault) = GetOutputFile(args);
            GameFactory = varietyOfVault == VaultType.Basic
                ? gameFactories.BasicVaultGameFactory
                : gameFactories.CustomVaultGameFactory;
            if (numGames == 1)
            {
                Console.WriteLine("Type of vault selected: [" + varietyOfVault + "].");
            }

            Debug.Assert(gotFileOk == (outputFile != null));
            if (gotFileOk)
            {
                if (numGames > 1)
                {
                    try
                    {
                        PlayMultipleClortonGames(numGames, outputFile);
                    }
                    catch (Exception ex)
                    {
                        Console.Error.WriteLine(ex.ToString());
                        Console.Error.WriteLine("Unexpected error initializing game.  Terminating.");
                        Environment.Exit(-1);
                    }
                }
                else
                {
                    try
                    {
                        PlayClortonGame(outputFile);
                    }
                    catch (Exception ex)
                    {
                        Console.Error.WriteLine(ex.ToString());
                        Console.Error.WriteLine("Unexpected error initializing game.  Terminating.");
                        Environment.Exit(-1);
                    }
                }
            }
            else
            {
                Console.Error.WriteLine("There was a problem with the output file.  Additional info: [" +
                                        errorGettingFile + "].");
            }
        }
Beispiel #2
0
 static void Main(string[] args)
 {
     CgTimeStampSource.SupplyAlternateProvider(HpTimeStampProvider.CreateInstance());
     TimeStampSource.Calibrate();
     (bool gotFileOk, string errorInfo, FileInfo outputFile, int numGames, TimeSpan timeout) = GetOutputFile(args);
     Debug.Assert((outputFile != null) == gotFileOk);
     if (gotFileOk)
     {
         Console.WriteLine($"Going to play {numGames} CafeBabe games, each with a time limit of {timeout.TotalSeconds:F5} seconds.  Results will be written to file {outputFile?.FullName ?? "UNSPECIFIED"} ");
         if (numGames > 1)
         {
             try
             {
                 PlayMultipleCafeBabeGames(numGames, outputFile, timeout);
             }
             catch (Exception ex)
             {
                 Console.Error.WriteLine(ex.ToString());
                 Console.Error.WriteLine("Unexpected error initializing game.  Terminating.");
                 Environment.Exit(-1);
             }
         }
         else
         {
             try
             {
                 PlayCafeBabeGame(outputFile, timeout);
             }
             catch (Exception e)
             {
                 Console.Error.WriteLine(e.ToString());
                 Console.Error.WriteLine("Unexpected error initializing game.  Terminating.");
                 Environment.Exit(-1);
             }
         }
     }
     else
     {
         Console.Error.WriteLine(
             "There was a problem parsing the parameters passed hereto." +
             $"{(!string.IsNullOrEmpty(errorInfo) ? ("  " + errorInfo) : string.Empty)}");
     }
 }