public static Game CreateLongGame(bool isRedHuman) { var game = new Game(GameMode.Long, isRedHuman); GameInitializer.Initialize(game); return game; }
public static int[] MakeMove(IRulesEngine rulesEngine, Game game) { _rulesEngine = rulesEngine; _game = game; var potentialMoves = GeneratePotentialMoves(); var bestMove = PickBestMove(potentialMoves); return bestMove; }
public static GameRecreation CreateRecreation(Game game) { return new GameRecreation { GameMode = game.GameMode, CurrentTurn = game.CurrentTurn, Board = game.Board, CurrentColor = game.CurrentColor, IsRedHuman = game.Player2.IsHuman }; }
internal static void Initialize(Game game) { if (game.GameMode == GameMode.Long) { game.Board[1] = new BoardPoint(GameColor.White, 15); game.Board[24] = new BoardPoint(GameColor.Red, 15); } else { game.Board[1] = new BoardPoint(GameColor.White, 2); game.Board[6] = new BoardPoint(GameColor.Red, 5); game.Board[8] = new BoardPoint(GameColor.Red, 3); game.Board[12] = new BoardPoint(GameColor.White, 5); game.Board[13] = new BoardPoint(GameColor.Red, 5); game.Board[17] = new BoardPoint(GameColor.White, 3); game.Board[19] = new BoardPoint(GameColor.White, 5); game.Board[24] = new BoardPoint(GameColor.Red, 2); } }
public static bool LoadGame() { GameRecreation recreation; try { recreation = GameLoader.RecreateGame(); } catch (Exception ex) { MessageBox.Show(string.Format("Failed loading the game:{0}{1}", Environment.NewLine, ex.Message)); return false; } Game = GameFactory.CreateSavedGame(recreation); RulesEngine = RulesEngineFactory.CreateRulesEngine(Game); MessageBox.Show(string.Format("Continue a {0} Game!", Game.GameMode)); PreviousToPoint = 0; PreviousFromPoint = 0; return true; }
public static void StartNewGame(string gameType, bool isRedHuman) { Game = gameType.Equals("long") ? GameFactory.CreateLongGame(isRedHuman) : GameFactory.CreateShortGame(isRedHuman); RulesEngine = RulesEngineFactory.CreateRulesEngine(Game); }
internal LongRulesEngine(Game game) { Game = game; }
public static Game CreateSavedGame(GameRecreation recreation) { var game = new Game(recreation); return game; }
internal ShortRulesEngine(Game game) : base(game) { }
public static IRulesEngine CreateRulesEngine(Game game) { return game.GameMode == GameMode.Long ? new LongRulesEngine(game) : new ShortRulesEngine(game); }