Пример #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 + "].");
            }
        }
Пример #2
0
            static IClortonGameFactory GetGameFactory(int idx, VaultType evenVaultType)
            {
                IClortonGameFactory ret;
                var  factory = new ClortonGameFactorySource();
                bool isEven  = idx % 2 == 0;

                if (isEven)
                {
                    ret = evenVaultType == VaultType.Basic
                        ? factory.BasicVaultGameFactory
                        : factory.CustomVaultGameFactory;
                }
                else
                {
                    ret = evenVaultType == VaultType.Basic
                        ? factory.CustomVaultGameFactory
                        : factory.BasicVaultGameFactory;
                }
                return(ret);
            }