Exemple #1
0
 public GameConductor(ChessGameState state)
 {
     _currentMovingTeam = state.CurrentMovingTeam;
     _isCheckMate       = state.IsEnded;
     _smashed           = state.LastGameMoveResult.AllSmashedFigures().ToList();
     _moveManager       = new MoveManager.MoveManager(state.LastGameMoveResult.GetBoard().GetCopy());
 }
Exemple #2
0
 public Rover(Point point, Direction direction, string commands, IMoveManager moveManager)
 {
     Point       = point;
     Direction   = direction;
     MoveManager = moveManager;
     Commands    = commands;
 }
Exemple #3
0
        public MoveAnalyzer(IMoveManager mm)
        {
            ResultSubject = new Subject <IMoveAnalyzerResult>();

            MoveMgr = mm;

            MoveMgr.MoveStream.Subscribe(m => OnPriceBreak(m));
        }
Exemple #4
0
 private void Awake()
 {
     _moveManager = GetComponent <IMoveManager>();
     _gameBoard   = GetComponent <GameBoard>();
     _stats       = GetComponent <IStatsView>();
     _moveManager.OnTeamsRegisteredEvent += StartGame;
     _moveManager.OnReadyForNextMove     += ReadyForNextMove;
     _moveManager.OnGameForfeit          += OnGameForfeit;
 }
Exemple #5
0
        private GameManager(ICommandInterpreter commandInterpreter, ChessLogic logic, IMoveManager movementManager)
        {
            commandInterpreter.CommandReceived += CommandReceived;

            cmdInterpreter = commandInterpreter;
            chessLogic     = logic;
            moveManager    = movementManager;
            gameState      = GameState.Ready;
        }
        /// <summary>
        /// Serializes all controled movements without IFinishMovementReciever.
        /// </summary>
        /// <param name="rootElement">The parent element.</param>
        /// <param name="moveMgr">The MoveManager which has the movements.</param>
        private void SerializeAllMovements(XElement rootElement, IMoveManager moveMgr)
        {
            var element = new XElement("controledMovement");

            rootElement.Add(element);
            foreach (var item in moveMgr.GetAllMovements())
            {
                SerializeMovement(element, item);
            }
        }
Exemple #7
0
        public PositionManager(IMoveManager mm)
        {
            MoveMgr = mm;

            MoveAnalyzer = new MoveAnalyzer(mm);

            MoveMgr.BarStream.Subscribe(d => OnBarUpdate(d), err => OnBarError(err));

            MoveAnalyzer.ResultStream.Subscribe(r => OnAnalyzerUpdate(r));
        }
        public IMoveAnalyzerResult Execute(IMoveManager moveMgr, IMove newMove)
        {
            IBarDatum barData = newMove.Start;

            List <ProspectiveIR> gamma = GammaAnalyzer.GetValues(false, barData); //gamma

            var irList = moveMgr.Highs
                         .Where(b => b.High < barData.Low)
                         .Select(h => h.High)
                         .Distinct()
                         .OrderBy(v => v)
                         .ToList();

            var irLowPoints = moveMgr.Lows
                              .Where(b => b.Low < barData.Low)
                              .Select(l => l.Low)
                              .Distinct()
                              .OrderBy(v => v)
                              .ToList();


            irList.AddRange(irLowPoints.Where(v => !irList.Contains(v)).ToList());

            var tempList = new List <double>();

            if (barData.Low > moveMgr.PreviousMove.Start.High)
            {
                List <double> APrevious = AFromBar(moveMgr.PreviousMove.Start);

                foreach (var a in APrevious)
                {
                    var possibles = irList.Where(v => Math.Abs(a - v) < 5).ToList();

                    tempList.AddRange(possibles);
                }
            }
            else
            {
                tempList = irList;
            }

            List <ProspectiveIR> resultList = new List <ProspectiveIR>();

            foreach (var g in gamma)
            {
                var possible = tempList.Where(t => Math.Abs(g.Price - t) < 5).ToList().Min();

                resultList.Add(new ProspectiveIR(g.Degrees, possible));
            }

            MoveAnalyzerResult result = new MoveAnalyzerResult(barData, resultList);

            return(result);
        }
 /// <summary>
 /// Initializes the object and all control elements of the game.
 /// </summary>
 private GameObjectManager()
 {
     teamMgr = new TeamManager();
     fightMgr = new FightManager();
     objectCreator = new ObjectCreator();
     moveMgr = new MoveManager();
     groupMgr = new GroupManager();
     propertyMgr = new PropertyManager();
     hitTest = new HitTest();
     solarSystemMgr = new SolarSystemManager();
     gameSerializer = new GameSerializer();
 }
Exemple #10
0
 /// <summary>
 /// Initializes the object and all control elements of the game.
 /// </summary>
 private GameObjectManager()
 {
     teamMgr        = new TeamManager();
     fightMgr       = new FightManager();
     objectCreator  = new ObjectCreator();
     moveMgr        = new MoveManager();
     groupMgr       = new GroupManager();
     propertyMgr    = new PropertyManager();
     hitTest        = new HitTest();
     solarSystemMgr = new SolarSystemManager();
     gameSerializer = new GameSerializer();
 }
Exemple #11
0
        /// <summary>
        /// Destroys the current game (mission) and sets a new empty control elements of the game.
        /// </summary>
        public void DestroyGame()
        {
            // Destroys targeted group (destroys pointers).
            groupMgr.UntargetGroup();

            // Destroys all object in the game.
            foreach (var item in objectCreator.GetInicializedSolarSystems())
            {
                item.Destroy();
            }

            // Creates a new empty control elements of the game.
            teamMgr        = new TeamManager();
            fightMgr       = new FightManager();
            objectCreator  = new ObjectCreator();
            moveMgr        = new MoveManager();
            groupMgr       = new GroupManager();
            propertyMgr    = new PropertyManager();
            hitTest        = new HitTest();
            solarSystemMgr = new SolarSystemManager();
        }
Exemple #12
0
 public GameConductor()
 {
     _moveManager       = new MoveManager.MoveManager();
     _currentMovingTeam = TeamColor.White;
     _smashed           = new List <Figure>();
 }
 /// <summary>
 /// Serializes all controled movements without IFinishMovementReciever.
 /// </summary>
 /// <param name="rootElement">The parent element.</param>
 /// <param name="moveMgr">The MoveManager which has the movements.</param>
 private void SerializeAllMovements(XElement rootElement, IMoveManager moveMgr)
 {
     var element = new XElement("controledMovement");
     rootElement.Add(element);
     foreach (var item in moveMgr.GetAllMovements()) {
         SerializeMovement(element, item);
     }
 }
        public IMoveAnalyzerResult Execute(IMoveManager moveMgr, IMove newMove)
        {
            // this is for a long break:
            // if start is below A, then group A that matches a previous IR
            // otherwise group A from previous start. Previous start will the the high of preceding downtrend
            // lets see what this looks like without that wrinkle

            //            List<double> AFromStart = AFromBar(newMove.Start);

            IBarDatum barData = newMove.Start;

            List <ProspectiveIR> gamma = GammaAnalyzer.GetValues(true, barData); //gamma

            // now get union of Highs and lows from MoveMgr
            var irList = moveMgr.Highs
                         .Where(b => b.High > barData.High)
                         .Select(h => h.High)
                         .Distinct()
                         .OrderBy(v => v)
                         .ToList();

            var irLowPoints = moveMgr.Lows
                              .Where(b => b.Low > barData.High)
                              .Select(l => l.Low)
                              .Distinct()
                              .OrderBy(v => v)
                              .ToList();

            irList.AddRange(irLowPoints.Where(v => !irList.Contains(v)).ToList());

            var tempList = new List <double>();

            if (barData.High < moveMgr.PreviousMove.Start.Low)
            {
                List <double> APrevious = AFromBar(moveMgr.PreviousMove.Start);

                foreach (var a in APrevious)
                {
                    var possibles = irList.Where(v => Math.Abs(a - v) < 5).ToList();

                    tempList.AddRange(possibles);
                }
            }
            else
            {
                tempList = irList;
            }

            List <ProspectiveIR> resultList = new List <ProspectiveIR>();

            foreach (var g in gamma)
            {
                var possible = tempList.Where(t => Math.Abs(g.Price - t) < 5).ToList().Min();

                resultList.Add(new ProspectiveIR(g.Degrees, possible));
            }

            MoveAnalyzerResult result = new MoveAnalyzerResult(barData, resultList);

            return(result);
        }
        /// <summary>
        /// Destroys the current game (mission) and sets a new empty control elements of the game.
        /// </summary>
        public void DestroyGame()
        {
            // Destroys targeted group (destroys pointers).
            groupMgr.UntargetGroup();

            // Destroys all object in the game.
            foreach (var item in objectCreator.GetInicializedSolarSystems()) {
                item.Destroy();
            }

            // Creates a new empty control elements of the game.
            teamMgr = new TeamManager();
            fightMgr = new FightManager();
            objectCreator = new ObjectCreator();
            moveMgr = new MoveManager();
            groupMgr = new GroupManager();
            propertyMgr = new PropertyManager();
            hitTest = new HitTest();
            solarSystemMgr = new SolarSystemManager();
        }
 public Rover(IMoveManager moveManager, Position position)
 {
     _moveManager = moveManager;
     _position    = position;
 }