public static int Main(string[] args)
        {
            var logger = new LoggerConfiguration().WriteTo.Console().CreateLogger();

            var userOutput = new ConsoleUserOutput();

            userOutput.WriteLine("Catalyst Network Simulator");

            var passwordRegistry = new PasswordRegistry();

            Parser.Default.ParseArguments <Options>(args).WithParsed(options => passwordRegistry.SetFromOptions(options));

            var fileSystem            = new FileSystem();
            var userInput             = new ConsoleUserInput();
            var consolePasswordReader = new ConsolePasswordReader(userOutput, userInput);
            var certificateStore      = new CertificateStore(fileSystem, new PasswordManager(consolePasswordReader, passwordRegistry));
            var certificate           = certificateStore.ReadOrCreateCertificateFile("mycert.pfx");
            var signingContext        = new SigningContext {
                NetworkType = NetworkType.Devnet, SignatureType = SignatureType.ProtocolPeer
            };

            var clientRpcInfoList =
                ConfigHelper.GenerateClientRpcInfoFromConfig(userOutput, passwordRegistry, certificate, logger, signingContext
                                                             ).ToList();

            var simulation = new TransactionSimulation(userOutput);
            var simulator  = new Simulator(simulation, logger);

            simulator.SimulateAsync(clientRpcInfoList).Wait();

            return(Environment.ExitCode);
        }
Esempio n. 2
0
 public Game(GameSettings settings)
 {
     ExpressionWorker = new UserExpressionWorker();
     UserInput        = new ConsoleUserInput();
     StatusReporter   = new StatusReporter();
     GameSettings     = settings as GameSettings;
 }
Esempio n. 3
0
        private static void Main(string[] args)
        {
            XmlConfigurator.Configure();
            var logger        = LogManager.GetLogger("SampleTextLogger");
            var loggerService = new LoggerService(logger);

            IUserInput input = new ConsoleUserInput(ConsoleKey.Escape);

            using (var dbContext = new MyDbContext("Data Source=.;Initial Catalog=StockExchangeDB;Integrated Security=True"))
            {
                var bussinesService = new BussinesService(dbContext);

                Database.SetInitializer(new EfInitializer(bussinesService));

                var stockExchange = new SimpleStockExchange(bussinesService);

                loggerService.RunWithExceptionLogging(() =>
                {
                    bussinesService.RegisterNewStockToClient("NoNameCompany", bussinesService.GetAllClients().GetRandom());
                }, isSilent: true);

                loggerService.Warning("Changing any stock's cost.");
                bussinesService.ChangeStockCost("Telegram", bussinesService.GetStockCost("Telegram") + 100);

                loggerService.Warning("All registered clients:\n");
                foreach (var client in bussinesService.GetAllClients())
                {
                    loggerService.Info(client.ToString());
                }

                input.OnUserInputRecieved += (sender, keyInfo) => { if (keyInfo == ConsoleKey.Q)
                                                                    {
                                                                        stockExchange.IsContinue = false;
                                                                    }
                };

                loggerService.Warning("Opening the stock exchange.");
                loggerService.RunWithExceptionLogging(() => {
                    Task.Run(() =>
                    {
                        stockExchange.Run((IDealInfo dealInfo) => { loggerService.Info($"{dealInfo.Seller} have sold {dealInfo.Stock} to  {dealInfo.Buyer} for {dealInfo.Amount}."); });
                    });
                }, isSilent: false);

                input.ListenToUser();
            }
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            Random       rnd   = new Random();
            Game         game  = new Game();
            ConsoleBoard board = new ConsoleBoard(40, 40);
            Model        model = new Model(
                new ConsoleMine[] {
                new ConsoleMine(rnd.Next(board.Width), rnd.Next(board.Height)),
                new ConsoleMine(rnd.Next(board.Width), rnd.Next(board.Height)),
                new ConsoleMine(rnd.Next(board.Width), rnd.Next(board.Height)),
                new ConsoleMine(rnd.Next(board.Width), rnd.Next(board.Height)),
                new ConsoleMine(rnd.Next(board.Width), rnd.Next(board.Height))
            },
                new ColoredConsoleHero[] {
                new ColoredConsoleHero(board, rnd.Next(board.Width), rnd.Next(board.Height), ConsoleColor.Green, ConsoleKey.UpArrow, ConsoleKey.DownArrow, ConsoleKey.LeftArrow, ConsoleKey.RightArrow),
                new ColoredConsoleHero(board, rnd.Next(board.Width), rnd.Next(board.Height), ConsoleColor.Red, ConsoleKey.W, ConsoleKey.S, ConsoleKey.A, ConsoleKey.D),
                new ColoredConsoleHero(board, rnd.Next(board.Width), rnd.Next(board.Height), ConsoleColor.Blue, ConsoleKey.Home, ConsoleKey.End, ConsoleKey.Delete, ConsoleKey.PageDown)
            });
            ConsoleUserInput input = new ConsoleUserInput();

            game.Start(model, board, input);
        }