public static void Main()
        {
            var commandParser = new CommandParser();

            var playerRepository = new PlayerRepository();
            var cardRepository   = new CardRepository();
            var battleField      = new BattleField();
            var playerFactory    = new PlayerFactory();
            var cardFactory      = new CardFactory();

            var managerController = new ManagerController(
                playerRepository,
                cardRepository,
                battleField,
                playerFactory,
                cardFactory);

            var dataReader = new ConsoleReader();
            var dataWriter = new ConsoleWriter();

            var engine = new Engine(
                commandParser,
                managerController,
                dataReader,
                dataWriter);

            engine.Run();
        }
Esempio n. 2
0
    private Player CreatePlayer()
    {
        var playerFactory = new PlayerFactory <Player>(_globalData.PlayerData);
        var player        = playerFactory.Create();

        return(player);
    }
Esempio n. 3
0
    public void LoadXml(string userName)
    {
        //保存账号路径
        accountPath = directoryPath + userName;

        playerInfoPath = accountPath + xmlPath; //保存玩家信息存储路径

        //加载角色信息
        XmlDocument xmlDoc = new XmlDocument();

        xmlDoc.Load(playerInfoPath);

        XmlNode root = xmlDoc.SelectSingleNode("root");

        XmlNodeList characters = root.SelectNodes("character");

        for (int i = 0; i < characters.Count; i++)
        {
            //保存角色信息并添加进容器
            int    occupation = XmlTools.GetIntAttribute(characters[i] as XmlElement, "occupation");
            string name       = XmlTools.GetStringAttribute(characters[i] as XmlElement, "name");
            Player charInfo   = PlayerFactory.GeneratePlayer((OccupationType)occupation, name);
            charInfo.SetData(characters[i] as XmlElement);
            characterInfoList.Add(charInfo);
        }
    }
Esempio n. 4
0
        private void VoiceChat()
        {
            epVoiceLocal  = new IPEndPoint(IPAddress.Parse(textBox1.Text), Convert.ToInt32("90"));
            epVoiceRemote = new IPEndPoint(IPAddress.Parse(textBox2.Text), Convert.ToInt32("90"));
            sckVoice.Bind(epVoiceLocal);
            sckVoice.Connect(epVoiceRemote);

            /*
             * vc.sckSetter(sckVoice);
             * vc.intPtr = this.Handle;
             * vc.CreatePalyDevice();
             * vc.CreateSecondaryBuffer();
             */
            this.audioPlayer = PlayerFactory.CreateAudioPlayer(int.Parse("0"), 16000, 1, 16, 2);
            byte[] bytData = new byte[999999];
            while (true)
            {
                if (sckVoice.Poll(5000, SelectMode.SelectRead))
                {
                    if (flag == true)
                    {
                        //vc.StartRecord("C:\\Users\\zbyclar\\Desktop\\test2.wav");
                        this.microphoneCapturer = CapturerFactory.CreateMicrophoneCapturer(int.Parse("0"));
                        this.microphoneCapturer.Start();
                        this.microphoneCapturer.AudioCaptured += new ESBasic.CbGeneric <byte[]>(microphoneCapturer_AudioCaptured);
                        flag = false;
                    }
                    //Console.WriteLine("There are voices !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
                    sckVoice.BeginReceiveFrom(bytData, 0, bytData.Length, SocketFlags.None, ref epVoiceRemote, new AsyncCallback(ReceiveData), null);
                }
            }
        }
Esempio n. 5
0
        public void StartAFight_ThenAnotherPlayerJoins_ResultsInRaisedHeroStrength_Test()
        {
            var quest = QuestFactory.CreateStartedWithMaleHero(
                out var gameStore,
                out var gameId,
                out var playerId,
                out var sequence);

            var xena = new Hero(PlayerFactory.CreateFemale("Xena"));
            var game = quest.GetState(gameId);
            var hero = game.GetHero(playerId);

            var heroLevelRaise = LevelMessage.Create(sequence.Next, playerId, 1);
            var heroBonusRaise = BonusMessage.Create(sequence.Next, playerId, 1);
            var addXena        = PlayerMessage.CreateAdd(sequence.Next, new[] { xena.Player });
            var xenaLevelRaise = LevelMessage.Create(sequence.Next, xena.Player.Id, 1);
            var xenaBonusRaise = BonusMessage.Create(sequence.Next, xena.Player.Id, 1);
            var startFight     = FightStartMessage.Create(sequence.Next, hero.Player.Id, zerschmetterling);
            var preparation    = new GameMessage[] { heroLevelRaise, heroBonusRaise, addXena, xenaLevelRaise, xenaBonusRaise, startFight };

            var xenaJoinsFight = FightJoinMessage.Create(sequence.Next, xena.Player.Id);

            quest.AddMessages(gameId, preparation);
            game = quest.AddMessage(gameId, xenaJoinsFight);

            Assert.NotNull(game.Score.Fight);
            Assert.Equal(2, game.Score.Fight.Heroes.Count);
            Assert.Equal(6, game.Score.Fight.TotalHeroesScore);
        }
Esempio n. 6
0
    public void SetUp()
    {
        _container = new DiContainer();
        SignalBusInstaller.Install(_container);
        //signals
        _container.DeclareSignal <SignalPlayerCreated>();
        _container.DeclareSignal <SignalShotSpawn>();
        _container.DeclareSignal <SignalWeaponSwitch>();

        _inputController = Substitute.For <IInputController>();
        _container.Bind <IInputController>().FromInstance(_inputController).AsSingle().NonLazy();

        _signalBus = _container.Resolve <SignalBus>();
        _container.BindInterfacesAndSelfTo <Engine>().AsSingle().NonLazy();

        _engine = _container.Resolve <Engine>();

        _container.BindInterfacesAndSelfTo <PlayerFactory>().AsSingle().NonLazy();
        //_container.BindInterfacesAndSelfTo<HealthComponent>().AsSingle().NonLazy();
        _container.BindInterfacesAndSelfTo <WeaponsController>().AsSingle().NonLazy();

        _playerFactory = _container.Resolve <PlayerFactory>();

        //ui
        var canvas       = new GameObject();
        var viewResource = _container.InstantiatePrefabResourceForComponent <ViewUiWeapons>("BattleViewsUi/ViewUiWeapons");

        _container.BindViewController <ViewUiWeapons, PresenterWeapons>(viewResource, canvas.transform);
        _viewUi    = _container.Resolve <ViewUiWeapons>();
        _presenter = _container.Resolve <PresenterWeapons>();
        _presenter.Initialize();
    }
        public void CreateListOfPlayerLists_TestInparam1_2_Invalid()
        {
            int           amount            = PlayerFactory.MaxPlayersRequired + 1;
            List <Player> listOfPlayerLists = PlayerFactory.CreateListOfPlayerLists(amount, PlayerFactory.MinPlayerNameStartValue);

            Assert.AreEqual(amount, listOfPlayerLists.Count);
        }
        public Match AddPlayerToMatch(string playerId, string opponentType)
        {
            if (NextMatch == null)
            {
                NextMatch = new Match(MoveType);
            }
            Match   match  = NextMatch;
            IPlayer player = new HumanPlayer(playerId);

            NextMatch.AddNewPlayer(player);
            IPlayer opponent = PlayerFactory.CreatePlayerFromType(opponentType);

            if (opponent != null && opponent.AutoPlay)
            {
                NextMatch.AddNewPlayer(opponent);
            }
            if (NextMatch.Complete)
            {
                //Lets take care not to flood the memory
                if (Matches.Count > 100)
                {
                    Matches = new Dictionary <string, Match>();
                }
                Matches[NextMatch.Id] = NextMatch;
                NextMatch             = new Match(MoveType);
            }
            return(match);
        }
Esempio n. 9
0
        public void TestFact()
        {
            RaceFactory rf = RaceFactory.getRaceFactory();

            Assert.IsNotNull(rf);
            Race jordy = rf.getRace("human");
            Race willy = rf.getRace("orc");

            PlayerFactory pf = PlayerFactory.getPlayerFactory();
            Player        p1 = pf.createPlayer(jordy, "francois", null);

            Assert.AreEqual(p1.name, "francois");
            Player p2 = pf.createPlayer(willy, "aurelien", null);

            Assert.AreEqual(p2.name, "aurelien");

            Assert.AreEqual(p1.race.name, jordy.name);
            Assert.AreEqual(p2.race.name, willy.name);

            History h = HistoryFactory.getHistoryFactory().createHistory();

            Assert.IsNotNull(h);

            GameStateFactory gsf = GameStateFactory.getStateFactory();
            GameState        gs  = gsf.createGameState();

            h.set(gs);
            h.save();

            Assert.AreEqual(h.pop(), gs);
        }
        private void PopulateGrid(List <Included> players)
        {
            //this.dataGridView1.Rows.Add(i++, "", "Shrimpppppppp", "4,321", "231", "50%", "60%", "   5.43   ", "   601   ", "10.3");

            foreach (Included player in players)
            {
                if (player.type == "player")
                {
                    string leaderboardRanking = player.attributes.rank.ToString();

                    string playername = player.attributes.name.ToString();
                    string rankpoints = player.attributes.stats.rankPoints.ToString();
                    string games      = player.attributes.stats.games.ToString();
                    string winrate    = Math.Round(StatsCalculation.GetWinRatio(player.attributes.stats.wins, player.attributes.stats.games), 2).ToString() +
                                        "%";
                    string kd      = Math.Round(StatsCalculation.GetKD(player.attributes.stats.kills, player.attributes.stats.games), 2).ToString();
                    string kda     = Math.Round(player.attributes.stats.kda, 2).ToString();
                    string adr     = player.attributes.stats.averageDamage.ToString();
                    string avgRank = Math.Round(player.attributes.stats.averageRank, 2).ToString();

                    System.Drawing.Image image = PlayerFactory.GetRankedImage(player.attributes.stats.rankPoints);
                    this.dataGridView1.Rows.Add(leaderboardRanking, image, playername, rankpoints, games, winrate, kd, kda, adr, avgRank);
                }
            }
        }
Esempio n. 11
0
        public GameController GetGameController(IOutputter outputter)
        {
            var randomiser         = new Randomiser(new System.Random());
            var scheduleController = new ScheduleController();
            var renderController   = new RenderController(outputter);
            var inputController    = new InputController();
            var saveController     = new SaveController();
            var levelController    = new LevelController();
            var levelFactory       = new LevelFactory(randomiser);
            var itemFactory        = new ItemFactory();
            var stringFormatter    = new StringFormatterSmartFormat();
            var assetBank          = new AssetBank(stringFormatter);
            var eventBus           = new EventBus();
            var eventKeeper        = new EventKeeper(eventBus, assetBank);
            var screenFactory      = new ScreenFactory(eventKeeper);
            var playerFactory      = new PlayerFactory(levelController, eventBus, randomiser, scheduleController);
            var enemyFactory       = new EnemyFactory(eventBus, randomiser, scheduleController);

            return(new GameController(
                       renderController,
                       inputController,
                       saveController,
                       levelController,
                       levelFactory,
                       itemFactory,
                       screenFactory,
                       playerFactory,
                       enemyFactory,
                       eventBus,
                       scheduleController
                       ));
        }
Esempio n. 12
0
        public void MemoryPlayerTest()
        {
            var Referee       = new Referee();
            var PlayerFactory = new PlayerFactory();

            var MemoryPlayer = PlayerFactory.CreatePlayer(
                name: "MemoryPlayer",
                id: 1,
                playerType: Config.PlayersTypes.Memory,
                referee: Referee);

            Dictionary <int, int> numbers = new Dictionary <int, int>();

            bool isSameNum = false;

            for (int i = Config.MinWeight; i < Config.MaxWeight; i++)
            {
                try
                {
                    var number = MemoryPlayer.Action();
                    Assert.True((number >= Config.MinWeight) && (number <= Config.MaxWeight), "Numbers out of range");
                    numbers.Add(number, i);
                }
                catch (Exception)
                {
                    isSameNum = true;
                    break;
                }
            }

            Assert.True(isSameNum == false, "Numbers are not unique");
        }
Esempio n. 13
0
 /* constructors. */
 public CCGame(string bot1, string bot2)
 {
     cancelToken = new CancellationTokenSource();
     player1     = PlayerFactory.Create(bot1, Color.black, "simple_selection", "simple_expansion", "random_simulation", "simple_bp");
     player2     = PlayerFactory.Create(bot2, Color.white, "simple_selection", "simple_expansion", "random_simulation", "simple_bp");
     pieceMutex  = new Mutex();
 }
Esempio n. 14
0
        public PlayerFactoryShould()
        {
            var randomNumberGenerator = new RandomGenerator();
            var userInterface         = new ConsoleInterface();

            _playerFactory = new PlayerFactory(randomNumberGenerator, userInterface);
        }
Esempio n. 15
0
        static void PlayAgainstBots()
        {
            var players = new[]
            {
                Player.CreateBot("Fatz!"),
                Player.CreateBot("Hans"),
                Player.CreateCustom("YOU", new ConsolePlayer()),
            };

            var playerFactory = new PlayerFactory()
                                .RegisterOrOverrideCreator(nameof(ConsolePlayer), () => new ConsolePlayer());

            var gameDef = new EumelGameRoomDefinition(
                "the game",
                players.Select(p => p.Info).ToImmutableList().WithValueSemantics(),
                EumelGamePlan.For(players.Length),
                new GameRoomSettings(0)
                );
            var botController = new BotController(players.Select(p => p.Invocable), gameDef);
            var lobby         = new ActiveLobby(botController, gameDef, GameProgress.NotStarted);

            var logger = new ConsoleGameObserver();

            lobby.SubscribeWithPreviousEvents(logger);
            lobby.GameContext.SubscribeWithPreviousEvents(logger);
            while (lobby.HasMoreRounds)
            {
                lobby.StartNextRound();
            }
        }
Esempio n. 16
0
        public JsonResult StartGame()
        {
            // placeholder...
            var bob = PlayerFactory.CreatePlayer("Bob");

            return(Json(bob));
        }
        public PlayerControllerTest()
        {
            _jekyll = PlayerFactory.CreateMale("Dr. Jekyll");
            _hyde   = PlayerFactory.CreateMale("Mr. Hyde");

            _bonnie = new GameMaster(
                PlayerFactory.CreateFemale("Bonnie"), "*****@*****.**");
            _bonnie.PlayerPool.Add(_jekyll);
            _bonnie.PlayerPool.Add(_hyde);

            _clyde = new GameMaster(
                PlayerFactory.CreateMale("Clyde"), "*****@*****.**");

            _playerStore = new VolatilePlayerStore();
            _playerStore.Add(_bonnie);
            _playerStore.Add(_clyde);


            _externalId = _bonnie.ExternalId;
            _userName   = _bonnie.Name;

            _controller = new PlayerController(_playerStore);
            _controller.ControllerContext =
                ControllerContextFactory.CreateWithUserContext(_externalId, _userName);
        }
    protected override IMatchController Init_Board(string fen, List <BoardPosition> fromPositions, List <BoardPosition> toPositions)
    {
        if (MainPreload.Classic_board_and_players.playerProterties.Length == 0)
        {
            throw new System.NullReferenceException("LosAlamos Player Properties List Was Not Initialized!");
        }

        if (ServiceLocator.Singleton == null)
        {
            var serviceLocatorFactory = new ServiceLocatorFactory();
            serviceLocatorFactory.CreateServiceLocator(GameLoaderSaverType.FEN, ChessEngineType.Stockfish, ASmirnov.ASmirnovCustoms.SaveGamesPath);
        }

        MainMenu.Singleton.GameType = ChessGameType.los_alamos;

        playerFactory = new PlayerFactory();

        players = new IPlayer[MainPreload.Los_alamos_board_and_players.playerProterties.Length];
        int k = -1;

        foreach (var item in MainPreload.Los_alamos_board_and_players.playerProterties)
        {
            k++;
            players[k] = playerFactory.CreateHumanPlayer(item.side);
        }

        var c_factory  = new ControllerFactory();
        var controller = c_factory.CreateLosAlamosMatchController(fen, fromPositions, toPositions, players[0], players[1]);

        return(controller);
    }
Esempio n. 19
0
        public static void Main(string[] args)
        {
            IReader reader = new ConsoleReader();
            IWriter writer = new ConsoleWriter();

            IPlayerRepository playerRepository = new PlayerRepository();
            IPlayerFactory    playerFactory    = new PlayerFactory();

            ICardFactory    cardFactory    = new CardFactory();
            ICardRepository cardRepository = new CardRepository();

            IBattleField battlefield = new BattleField();

            IManagerController managerController = new ManagerController(
                playerRepository,
                playerFactory,
                cardFactory,
                cardRepository,
                battlefield);

            IEngine engine = new Engine(
                reader,
                writer,
                managerController);

            engine.Run();
        }
        private Player GetPlayer1(PlayRequest playRequest)
        {
            try
            {
                PlayerFactory factory = new PlayerFactory();

                Player player1 = null;

                if (playRequest.Player1Type == PlayerType.Computer)
                {
                    player1 = GetComputerPlayer();
                }
                else
                {
                    player1 = factory.CreatePlayer(playRequest.Player1ChosenAction.Value);
                    if (player1 == null)
                    {
                        throw new Exception();
                    }
                    player1.PlayerType = PlayerType.Human;
                }

                return(player1);
            }
            catch
            {
                throw;
            }
        }
Esempio n. 21
0
        public Game ConvertToGame()
        {
            //TODO: For all 4 tracksTry using trackConfiguration instead of using TrackIndex and casting
            var externalTracksByZone = new Dictionary <ZoneLocation, TrackConfiguration>
            {
                { ZoneLocation.Red, (TrackConfiguration)RedTrack.TrackIndex },
                { ZoneLocation.White, (TrackConfiguration)WhiteTrack.TrackIndex },
                { ZoneLocation.Blue, (TrackConfiguration)BlueTrack.TrackIndex }
            };
            var internalTrack = (TrackConfiguration)InternalTrack.TrackIndex;

            var players = Players
                          .Select(playerModel => PlayerFactory.CreatePlayer(
                                      playerModel.Actions.Select(action => PlayerActionFactory.CreatePlayerAction(action.FirstAction, action.SecondAction, action.BonusAction?.FirstAction)),
                                      playerModel.Index,
                                      playerModel.PlayerColor,
                                      playerModel.PlayerSpecialization))
                          .ToList();
            var internalThreats      = CreateInternalThreats(InternalThreats);
            var redThreats           = CreateExternalThreats(RedThreats, ZoneLocation.Red);
            var whiteThreats         = CreateExternalThreats(WhiteThreats, ZoneLocation.White);
            var blueThreats          = CreateExternalThreats(BlueThreats, ZoneLocation.Blue);
            var externalThreats      = redThreats.Concat(whiteThreats).Concat(blueThreats).ToList();
            var allThreats           = redThreats.Cast <Threat>().Concat(whiteThreats).Concat(blueThreats).Concat(internalThreats).ToList();
            var bonusExternalThreats = allThreats
                                       .Where(threat => threat.NeedsBonusExternalThreat)
                                       .Select(threat => ((IThreatWithBonusThreat <ExternalThreat>)threat).BonusThreat);
            var bonusInternalThreats = allThreats
                                       .Where(threat => threat.NeedsBonusExternalThreat)
                                       .Select(threat => ((IThreatWithBonusThreat <ExternalThreat>)threat).BonusThreat);
            var bonusThreats = bonusExternalThreats.Cast <Threat>().Concat(bonusInternalThreats).ToList();
            var damageTokens = InitialDamageModels.ToLookup(model => model.ZoneLocation, model => model.DamageToken);

            return(new Game(players, internalThreats, externalThreats, bonusThreats, externalTracksByZone, internalTrack, damageTokens));
        }
Esempio n. 22
0
        /// <summary>
        /// The method serving as the entry point of the program.
        /// </summary>
        /// <param name="args"></param>
        private static void Main(string[] args)
        {
            Console.WriteLine("Welcome to the Guess Fruit Basket Game!");

            Referee       referee       = new Referee();
            PlayerFactory playerFactory = new PlayerFactory();

            CreatePlayers(referee, playerFactory);

            ViewService.StartGame();

            Console.WriteLine($"Fruit Basket Weight is {referee.FruitBasketWeight}");

            var winner = new GameCore().PerformGameProcess(referee);

            if (referee.Round < Config.MaxGameRound - 1)
            {
                ViewService.ShowWinner(winner);
            }
            else
            {
                ViewService.ShowFuzzyWinner(winner);
            }

            ViewService.EndGame();
            CloseApplication();
        }
Esempio n. 23
0
        static void Main()
        {
            try
            {
                var bots = new List <IBot>
                {
                    new MediumBot(),
                    new EasyBot()
                };

                var fieldFactory = new FieldFactory();
                var board        = new Board(7, 6, fieldFactory);
                var gameFactory  = new GameFactory(board, bots.ToArray());

                var playerFactory = new PlayerFactory();
                var proxy         = new GameProxy();

                var logger = new Log4netAdapter("GameAPI");
                var api    = new GameAPI(gameFactory, playerFactory, logger, proxy);

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new Form1(api));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                MessageBox.Show(e.ToString());
                Application.Exit();
            }
        }
Esempio n. 24
0
        /// <summary>
        /// Creates players.
        /// </summary>
        /// <param name="referee">The referee.</param>
        /// <param name="playerFactory">The player factory.</param>
        private static void CreatePlayers(Referee referee, PlayerFactory playerFactory)
        {
            int playersCount = ViewService.GetPlayersCount();

            if (playersCount == 0)
            {
                Close();
            }

            for (int i = 1; i <= playersCount; i++)
            {
                string name = ViewService.GetPlayerName(i);
                if (name.Length == 0)
                {
                    Close();
                }

                int playerType = ViewService.GetPlayerType(i);
                if (playerType == 0)
                {
                    Close();
                }

                referee.AddPlayer(
                    playerFactory.CreatePlayer(
                        name: name,
                        id: i,
                        playerType: (Config.PlayersTypes)(playerType - 1),
                        referee: referee));
            }

            referee.SetRandomPlayerOrder();
        }
        /// <inheritdoc />
        public override async Task HandleMessage(IPeerMessageContext <GameClientPacketPayload> context, PlayerSelfSpawnEventPayload payload)
        {
            //TODO: Actually handle this. Right now it's just demo code, it actually could fail.
            if (Logger.IsInfoEnabled)
            {
                Logger.Info($"Recieved server commanded PlayerSpawn. Player GUID: {payload.CreationData.EntityGuid} Position: {payload.CreationData.InitialMovementData.InitialPosition}");
            }

            EntityFieldDataCollection <EntityDataFieldType> entityData = CreateEntityDataCollectionFromPayload(payload.CreationData.InitialFieldValues);

            LogEntityDataFields(payload);

            await new UnityYieldAwaitable();

            //Don't do any checks for now, we just spawn
            GameObject playerGameObject = PlayerFactory.Create(new DefaultEntityCreationContext(payload.CreationData.EntityGuid, payload.CreationData.InitialMovementData, EntityPrefab.LocalPlayer, entityData));

            //Set local player entity guid, lots of dependencies need this set to work.
            LocalPlayerDetails.LocalPlayerGuid = payload.CreationData.EntityGuid;

            //Call all OnGameInitializables
            foreach (var init in Initializables)
            {
                await init.OnGameInitialized()
                .ConfigureAwait(false);
            }

            //TODO: We need to make this the first packet, or couple of packets. We don't want to do this inbetween potentially slow operatons.
            await context.PayloadSendService.SendMessageImmediately(new ServerTimeSyncronizationRequestPayload(DateTime.UtcNow.Ticks))
            .ConfigureAwait(false);
        }
Esempio n. 26
0
        public Players(MongoDatabase db)
        {
            this.db = db;
            pf      = new PlayerFactory(db);

            InitializeComponent();
        }
    protected override IMatchController Init_Board(string fen, List <BoardPosition> fromPositions, List <BoardPosition> toPositions)
    {
        if (MainPreload.Circled_board_and_players.playerProterties.Length == 0)
        {
            throw new System.NullReferenceException("Circled Player Properties List Was Not Initialized!");
        }

        if (ServiceLocator.Singleton == null)
        {
            var serviceLocatorFactory = new ServiceLocatorFactory();
            serviceLocatorFactory.CreateServiceLocator(GameLoaderSaverType.FEN, ChessEngineType.Stockfish, ASmirnov.ASmirnovCustoms.SaveGamesPath);
        }

        MainMenu.Singleton.GameType = ChessGameType.circled;
        playerFactory = new PlayerFactory();
        players       = new IPlayer[MainPreload.Circled_board_and_players.playerProterties.Length];

        for (int i = 0; i < players.Length; i++)
        {
            players[i] = playerFactory.CreateHumanPlayer(MainPreload.Circled_board_and_players.playerProterties[i].side);
        }

        var c_factory  = new ControllerFactory();
        var controller = c_factory.CreateCircledMatchController(fen, fromPositions, toPositions, players[0], players[1]);

        return(controller);
    }
Esempio n. 28
0
        public Game BuildGameFactory()
        {
            var game          = new Game();
            var playerFactory = new PlayerFactory();


            for (int i = 0; i < rnd.Next(1, 6); i++)
            {
                var randomPlayer = playerFactory.RandomPlayer();

                game.addPlayer(randomPlayer);
                // remove player's name from list to avoid duplicates of random generator
                playerFactory.players.Remove(randomPlayer.DisplayName);
            }



            ///possible cleanup instead of having 11 frames: player.isLastRollStrike, if so add frame -- possible solution

            foreach (var player in game.Players)
            {
                for (int i = 0; i < 11; i++)
                {
                    var frame = FrameFactory.RandomFrame();

                    player.PlayerRoll(frame);
                }
            }

            game.GameScore();
            return(game);
        }
        /// <inheritdoc />
        protected override void HandleEvent(PlayerSessionClaimedEventArgs args)
        {
            if (Logger.IsDebugEnabled)
            {
                Logger.Debug($"Dequeueing entity creation request for: {args.EntityGuid.EntityType}:{args.EntityGuid.EntityId}");
            }

            //TODO: This is test data
            EntityFieldDataCollection <EntityDataFieldType> testData = new EntityFieldDataCollection <EntityDataFieldType>();

            //TODO: Test values set
            testData.SetFieldValue(EntityDataFieldType.EntityCurrentHealth, 100);
            testData.SetFieldValue(EntityDataFieldType.EntityMaxHealth, 120);

            using (LockingPolicy.WriterLock(null, CancellationToken.None))
            {
                //TODO: Time stamp
                //TODO: We should check if the result is valid? Maybe return a CreationResult?
                //We don't need to do anything with the returned object.
                GameObject playerGameObject = PlayerFactory.Create(new PlayerEntityCreationContext(args.EntityGuid, args.SessionContext, new PositionChangeMovementData(0, args.SpawnPosition, Vector2.zero), EntityPrefab.RemotePlayer, testData));
            }

            if (Logger.IsDebugEnabled)
            {
                Logger.Debug($"Sending player spawn payload Id: {args.EntityGuid.EntityId}");
            }

            OnPlayerWorldSessionCreated?.Invoke(this, new PlayerWorldSessionCreationEventArgs(args.EntityGuid));

            //TODO: If we want to do anything post-creation with the provide gameobject we could. But we really don't want to at the moment.
        }
Esempio n. 30
0
        private void SetupStage()
        {
            if (!Session.TryGet(SessionKeys.CurrentStageId, out int stageId))
            {
                stageId = 1;
                Session.Set(SessionKeys.CurrentStageId, stageId);
            }

            var stage = new StageDataStorage().Load(stageId);

            var board = new BoardFactory(new TileFactory(ContentManager, _configurationService), new EndFactory(ContentManager), _configurationService)
                        .CreateBoard(stage.Board);

            var tileSize = _configurationService.GetTileSizeInPixels();
            var size     = board.GetComponent <BoardInfo>().Size *tileSize;


            var player = new PlayerFactory(ContentManager).CreatePlayer();

            player.Transform.SetParent(board.Transform);

            board.Transform.Position = new Vector2((ScreenManager.Game.GraphicsDevice.Viewport.Width - size.X) / 2, (ScreenManager.Game.GraphicsDevice.Viewport.Height - size.Y) / 2);

            new PoofFactory(ContentManager).CreatePoof();
        }
Esempio n. 31
0
        static void Main(string[] args)
        {
            VictoryValidator victoryValidator = new VictoryValidator();
            PlayerFactory playerFactory = new PlayerFactory(victoryValidator);
            ScenarioFactory scenarioFactory = new ScenarioFactory(playerFactory);

            TicTacToeControlsViewModel TicTacToeControlsViewModel = new TicTacToeControlsViewModel(new TicTacToeControlsModel(), scenarioFactory);
            TicTacToeGridViewModel TicTacToeGridViewModel = new TicTacToeGridViewModel(new TicTacToeGridModel(), TicTacToeControlsViewModel);
            GameWindowViewModel GameWindowViewModel = new GameWindowViewModel(TicTacToeControlsViewModel, TicTacToeGridViewModel);

            GameWindow gameWindow = new GameWindow(GameWindowViewModel);
            gameWindow.ShowDialog();
        }
Esempio n. 32
0
        private void playMovie(string SMSResponse)
        {
            XmlDocument doc = new XmlDocument();
              string rootXML;
              if (SMSResponse.Length > 0)
              {
            rootXML = SMSResponse;
              }
              else
              {
            string requestUrl = Utils.constructUrl("stream/" + stream_id, "fields=stream&authmode=raw");
            rootXML = Utils.GetWebData(requestUrl, HeadWebSettings.Instance.s_cc, null, null, false, false, null, "GET", null, false, false);
              }

              doc.LoadXml(rootXML);
              XmlElement root = doc.DocumentElement;
              XmlNodeList list = root.SelectNodes("/response/auth");

              foreach (XmlNode elm in list)
              {
            stream_url = elm["streamurl"].InnerText;
            stream_url_id = elm["streamid"].InnerText;
              }

              // get bitrates
              XmlNodeList bitratelist = root.SelectNodes("/response/content/stream/bitrate");
              int bitrate;
              string lsUrl = string.Empty;
              sInfo.Clear();
              foreach (XmlNode elm in bitratelist)
              {
            try
            {
              if (elm["rate"].InnerText.Length > 0)
              {
            StreamInfo streaminfo = new StreamInfo();
            streaminfo.Bitrate = elm["rate"].InnerText;
            if (elm["width"].InnerText == "1280")
            {
              streaminfo.Text = "(720p)";
            }

            else if (elm["width"].InnerText == "1920")
            {
              streaminfo.Text = "(1080p)";
            }
            sInfo.Add(streaminfo);
              }
            }
            catch { }
              }
              int c = sInfo.Count;
              if (c > 1)
              {
            if (HeadWebSettings.Instance.s_video_quality != string.Empty && HeadWebSettings.Instance.s_video_quality != "Let me choose")
            {
              if (HeadWebSettings.Instance.s_video_quality == "Low")
              {
            bitrate = 0;
              }
              else if (HeadWebSettings.Instance.s_video_quality == "High")
              {
            bitrate = sInfo.Count - 1;
              }
              else
              {
            bitrate = (c + 1) / 2;
            bitrate = (int)Math.Floor((double)bitrate);
            if (bitrate < 0) bitrate = 0;
              }
              Log.Info("HeadWeb: Play movie with bitrate: " + sInfo[bitrate].Bitrate);
              lsUrl = sInfo[bitrate].Bitrate;
            }
            else
            {
              GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
              if (dlg == null)
              {
            return;
              }

              dlg.Reset();
              dlg.SetHeading(Translation.SelectBitrate); // Bitrate options

              foreach (StreamInfo inf in sInfo)
              {
            dlg.Add(inf.Bitrate + " " + inf.Text);
              }

              // show dialog and wait for result
              dlg.DoModal(GetID);
              if (dlg.SelectedId == -1)
              {
            return;
              }
              Log.Info("HeadWeb: Play movie with bitrate: " + dlg.SelectedLabelText);
              lsUrl = sInfo[dlg.SelectedId - 1].Bitrate;
            }
              }

              if (lsUrl.Length > 0)
              {
            stream_url_id = stream_url_id.Replace("?t=", "_" + lsUrl + "?t=");
            lsUrl = stream_url + "/" + stream_url_id;
              }
              else
              {
            lsUrl = stream_url + "/" + stream_url_id;
              }
              Log.Debug("HeadWeb: streamURL=" + lsUrl);

              // translate rtmp urls to the local proxy
              if (new Uri(lsUrl).Scheme.ToLower().StartsWith("rtmp"))
              {
            lsUrl = ReverseProxy.Instance.GetProxyUri(RTMP_LIB.RTMPRequestHandler.Instance,
                        string.Format("http://127.0.0.1/stream.flv?rtmpurl={0}&hostname=fl2.stream.headweb.com&port=443&playpath={1}&live=no",
                        System.Web.HttpUtility.UrlEncode(lsUrl), System.Web.HttpUtility.UrlEncode(stream_url_id)));
              }

              // load and save subs
              XmlNodeList sublist = root.SelectNodes("/response/content/stream/subtitle");
              foreach (XmlNode elm in sublist)
              {

            try { sub_language = elm["language"].InnerText; }
            catch { }
            Log.Debug("HeadWeb: Subtitle found: " + sub_language);
            try { sub_url = elm["url"].InnerText; }
            catch { }
            Utils.saveSub(HeadWebSettings.Instance.s_movietitle, sub_url, sub_language);
              }

              // stop player if currently playing some other video
              if (g_Player.Playing) g_Player.Stop();

              PlayerFactory factory = new PlayerFactory(PlayerType.Internal, lsUrl);

              Log.Info("HeadWeb: Preparing graph for playback of {0}", lsUrl);
              bool? prepareResult = ((OnlineVideosPlayer)factory.PreparedPlayer).PrepareGraph();
              switch (prepareResult)
              {
            case true:// buffer in background
              Gui2UtilConnector.Instance.ExecuteInBackgroundAndCallback(delegate()
              {
            try
            {
              Log.Info("HeadWeb: Start prebuffering...");
              BufferingPlayerFactory = factory;
              if (((OnlineVideosPlayer)factory.PreparedPlayer).BufferFile())
              {
                Log.Info("HeadWeb: Prebuffering finished");
                return true;
              }
              else
              {
                Log.Info("HeadWeb: Prebuffering failed");
                return null;
              }
            }
            finally
            {
              BufferingPlayerFactory = null;
            }
              },
              delegate(bool success, object result)
              {
            Play_Step4(lsUrl, true, factory, result as bool?);
              },
              "StartingPlayback", false);

              break;
            case false:// play without buffering in background
              Play_Step4(lsUrl, true, factory, prepareResult);
              break;
            default: // error building graph
              GUIDialogNotify dlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY);
              if (dlg != null)
              {
            dlg.Reset();
            dlg.SetHeading("Error");
            dlg.SetText("UnableToPlayVideo");
            dlg.DoModal(GUIWindowManager.ActiveWindow);
              }
              break;
              }
        }
Esempio n. 33
0
        void Play_Step4(string lsUrl, bool goFullScreen, PlayerFactory factory, bool? factoryPrepareResult)
        {
            if (factoryPrepareResult == null)
              {
            bool showMessage = true;
            if (factory.PreparedPlayer is OnlineVideosPlayer && (factory.PreparedPlayer as OnlineVideosPlayer).BufferingStopped == true) showMessage = false;
            factory.PreparedPlayer.Dispose();
            if (showMessage)
            {
              GUIDialogNotify dlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY);
              if (dlg != null)
              {
            dlg.Reset();
            dlg.SetHeading("Error");
            dlg.SetText("UnableToPlayVideo");
            dlg.DoModal(GUIWindowManager.ActiveWindow);
              }
            }
              }
              else
              {
            (factory.PreparedPlayer as OVSPLayer).GoFullscreen = goFullScreen;

            IPlayerFactory savedFactory = g_Player.Factory;
            g_Player.Factory = factory;
            bool playing = g_Player.Play(lsUrl, g_Player.MediaType.Video);
            g_Player.Factory = savedFactory;

            if (g_Player.Player != null && g_Player.HasVideo)
            {
              setGuiMovie();
            }
              }
        }
Esempio n. 34
0
    void Start()
    {
        PlayerAutomate = false;

        AutomateSpeed = 0.01f;
        AnswerCount = 0;

        DebugScript = GameObject.Find("DebugObject").GetComponent<GameDebugScript>();

        Basic = GameObject.Find("Basic");
        Strong = GameObject.Find("Strong");
        Special = GameObject.Find("Special");

        NoCombatState   = new NoCombatState(this);
        AttackState     = new AttackState(this);
        DefenseState    = new DefenseState(this);
        AnswerState     = new AnswerState(this);
        AnimatingState  = new AnimatingState(this);

        Camera = new CameraController(GameObject.Find("Main Camera"));
        Waypoint = new Waypoint();
        Waypoint.CurrentPosition = new Vector3(-1.65f, 0.9f, -1.0f);
        Waypoint.WaypointPosition = new Vector3(0.9f, 0.9f, -1.0f);
        MonsterWaypoint = new Vector3(3.1f, 1.05f, -1.0f);
        Camera.WaypointPosition = Waypoint.WaypointPosition + new Vector3(1.1f, 0f, -10.0f);
        WaypointCounter = 0;

        UIView = GameObject.Find("GameController").GetComponent<UIView>();

        PlayerFactory = new PlayerFactory();
        EnemyFactory = new EnemyFactory();

        // Player Factory
        Player = PlayerFactory.CreatePlayer("Wizard", Application.loadedLevel, GameObject.Find("Player"));

        Player.WaypointPosition = Waypoint.WaypointPosition;

        State = NoCombatState;
    }
Esempio n. 35
0
        private void playTrailer()
        {
            string lsUrl;
              int trailer;
              if (HeadWebSettings.Instance.s_video_quality != string.Empty && HeadWebSettings.Instance.s_video_quality != "Let me choose" && trailer_url.Count() > 0)
              {
            if (HeadWebSettings.Instance.s_video_quality == "Low")
            {
              trailer = 0;
            }
            else if (HeadWebSettings.Instance.s_video_quality == "High")
            {
              trailer = trailer_url.Count - 1;
            }
            else
            {
              double trailerd = (trailer_url.Count) / 2;
              trailer = (int)Math.Floor((double)trailerd);
              if (trailer < 0) trailer = 0;
              lsUrl = trailer_url[trailer];
            }
            Log.Debug("HeadWeb: Play trailer: " + trailer_bitrate[trailer]);
            lsUrl = trailer_url[trailer];
              }
              else
              {

            GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU);
            if (dlg == null)
            {
              return;
            }

            dlg.Reset();
            dlg.SetHeading(Translation.SelectBitrate); // Bitrate options

            foreach (string btr in trailer_bitrate)
            {
              dlg.Add(btr);
            }

            // show dialog and wait for result
            dlg.DoModal(GetID);
            if (dlg.SelectedId == -1)
            {
              return;
            }

            Log.Debug("HeadWeb: Play trailer with bitrate: " + dlg.SelectedLabelText);
            lsUrl = trailer_url[dlg.SelectedId - 1];
              }
              if (g_Player.Playing) g_Player.Stop();
              //MediaPortal.Player.g_Player.PlayVideoStream(trailer_url[dlg.SelectedId-1]);

              PlayerFactory factory = new PlayerFactory(PlayerType.Internal, lsUrl);

              Log.Info("HeadWeb: Preparing graph for playback of {0}", lsUrl);
              bool? prepareResult = ((OnlineVideosPlayer)factory.PreparedPlayer).PrepareGraph();
              switch (prepareResult)
              {
            case true:// buffer in background
              Gui2UtilConnector.Instance.ExecuteInBackgroundAndCallback(delegate()
              {
            try
            {
              Log.Info("HeadWeb: Start prebuffering...");
              BufferingPlayerFactory = factory;
              if (((OnlineVideosPlayer)factory.PreparedPlayer).BufferFile())
              {
                Log.Info("HeadWeb: Prebuffering finished");
                return true;
              }
              else
              {
                Log.Info("HeadWeb: Prebuffering failed");
                return null;
              }
            }
            finally
            {
              BufferingPlayerFactory = null;
            }
              },
              delegate(bool success, object result)
              {
            Play_Step4(lsUrl, true, factory, result as bool?);
              },
              "StartingPlayback", false);
              break;
            case false:// play without buffering in background
              Play_Step4(lsUrl, true, factory, prepareResult);
              break;
            default: // error building graph
              GUIDialogNotify errdlg = (GUIDialogNotify)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_NOTIFY);
              if (errdlg != null)
              {
            errdlg.Reset();
            errdlg.SetHeading("Error");
            errdlg.SetText("UnableToPlayVideo");
            errdlg.DoModal(GUIWindowManager.ActiveWindow);
              }
              break;
              }

              MediaPortal.Player.g_Player.ShowFullScreenWindowVideo();
        }