static void Main(string[] args) { var boardManager = new BoardManager(() => new Board(9)); var playerManager = new PlayerManager(boardManager); var initialRound = new InitialRound(); var responseManager = new ResponseManager(); var game = new Game(playerManager, initialRound, responseManager); var hardClose = false; game.Begin(); while (!game.Complete && !hardClose) { game.Tick(); if (Console.KeyAvailable) { var key = Console.ReadKey(true); switch (key.Key) { case ConsoleKey.Escape: hardClose = true; break; } } } Console.WriteLine("Exiting..."); }
private void Rekey(byte[] key) { _KeySchedule = new KeySchedule(key, BlockSize / Constants.BitsPerByte); _Settings = new Settings(key.Length * Constants.BitsPerByte, BlockSize); _InitialRound = new InitialRound(_Settings, _KeySchedule); _IntermediateRound = new IntermediateRound(_Settings, _KeySchedule); _FinalRound = new FinalRound(_Settings, _KeySchedule); }