Ejemplo n.º 1
0
        private void ChooseColors()
        {
            string input;

            do
            {
                Console.WriteLine("Player 1 choose your color........(b = black / w = white):");
                input = Console.ReadLine();
            } while(ColorCodeNotValid(input));

            _player1       = _playerFactory.Create(_boardMoveService, GetColor(input));
            _player2       = _playerFactory.Create(_boardMoveService, GetColor(input, true));
            _currentPlayer = _player1;
        }
Ejemplo n.º 2
0
        private void NameMethod(IPlayerFactory playerFactory)
        {
            IPlayer player = playerFactory.Create(6, TypePlayer.Mag);

            IPlayer player3 = Player.Factory.Create(6, TypePlayer.Player);

            Task.Factory.StartNew(Action);
        }
Ejemplo n.º 3
0
 public PlayerInitialization(IPlayerFactory factory)
 {
     _player        = factory.Create();
     Transform      = _player.transform;
     SpriteRenderer = _player.GetComponentInChildren <SpriteRenderer>();
     Collider       = _player.GetOrAddComponent <Collider2D>();
     Rigidbody      = _player.GetOrAddComponent <Rigidbody2D>();
 }
        private void CreatePlayer(PlayerData playerData)
        {
            var clone = _playerFactory.Create(playerData);

            clone.transform.position = new Vector3(Random.Range(-2, 2), 0, Random.Range(-2, 2));
            clone.transform.rotation = Quaternion.identity;

            _playerList.Add(clone);
        }
Ejemplo n.º 5
0
        private async UniTaskVoid RoundStartTask(GamePlaySettingData gamePlaySettingData)
        {
            Debug.Log("なんかいっぱい準備する");
            // なんかスタートする
            var players     = _playerProvider.GetCurrentPlayers();
            var spawnPoints = new Queue <Transform>();

            _stageMapSetting.GetPlayerSpawnPoints().ForEach(x => spawnPoints.Enqueue(x));

            players.ForEach(x => _stageScoreManager.AddPlayer(x));
            players.ForEach(x =>
            {
                var player                = _playerFactory.Create(x);
                var spawnPoint            = spawnPoints.Dequeue();
                player.transform.position = spawnPoint.position;
                player.transform.rotation = spawnPoint.rotation;
                var basket                = _basketFactory.Create();
                player.SetBasket(basket);
                basket.transform.localPosition = Vector3.zero;
            });

            // debug用
            var gameObject = new GameObject();
            var scoreView  = gameObject.AddComponent <DebugPlayerScoreView>();

            scoreView.Setup(_scoreManager);

            var correctedCount = 0;

            while (correctedCount < _currentGamePlaySetting.CorrectCount)
            {
                correctedCount++;

                // 次の便まで待つ
                await UniTask.Delay(TimeSpan.FromSeconds(_currentGamePlaySetting.CorrectInterval));

                // 便がくる

                // 回収装置が満タンになるまで待つ

                // 回収装置が退場する

                // ポイントが精算される。
            }


            if (_cancellationTokenSource.IsCancellationRequested)
            {
                return;
            }

            // 終了~~~~~

            SceneManager.LoadScene("ResultScene");
        }
Ejemplo n.º 6
0
        public List <Player> GetTeam()
        {
            var list = new List <Player>();

            for (int i = 0; i < 10; i++)
            {
                list.Add(_playerFactory.Create());
            }

            return(list);
        }
Ejemplo n.º 7
0
        public void TestCreatePlayers()
        {
            List <Player> players = new List <Player>();

            for (int i = 0; i < 3; i++)
            {
                players.Add(playerFactory.Create(PlayerTypes.Player, ControlTypes.Player));
            }

            Assert.IsNotNull(players);
            //Assert.IsTrue(players.Count == 3);
        }
Ejemplo n.º 8
0
        private void _Create_Players()
        {
            string name;
            string symbol;

            //Création des players
            _displayer.Show("Prénom du joueur 1 : ");
            name = _reader.Read();

            do
            {
                _displayer.Show("Symbole du joueur 1 : ");
                symbol = _reader.Read();
                if (symbol != null)
                {
                    symbol = symbol.ToUpper();
                }
            } while(Array.IndexOf(choices, symbol) == -1);

            _game.Player1 = _player_factory.Create(name, symbol);

            _displayer.Show("Prénom du joueur 2 : ");
            name = _reader.Read();

            if (_game.Player1.Symbol == choices [0])
            {
                symbol = choices [1];
            }
            else
            {
                symbol = choices [0];
            }
            _displayer.Show(name + " votre symbole est: " + symbol);

            _displayer.Show("\nAppuyez sur une touche pour continuer", ConsoleColor.Yellow);
            _reader.Read();
            _game.Player2 = _player_factory.Create(name, symbol);
        }
Ejemplo n.º 9
0
        public IPlayerCollection Create()
        {
            this.textInterface.Write($"Enter the number of players, between {this.playerSettings.MinimumPlayerCount} and {this.playerSettings.MaximumPlayerCount}: ");
            var playerCount = this.textInterface.ReadIntegerInRange(
                this.playerSettings.MinimumPlayerCount,
                this.playerSettings.MaximumPlayerCount);

            this.textInterface.WriteLine();
            var nameEachPlayer = this.textInterface.GetYesOrNoResponse("Enter player names?");

            var playerCollection = new PlayerCollection()
            {
                Capacity = playerCount
            };

            if (nameEachPlayer)
            {
                this.textInterface.WriteLine();
                this.textInterface.WriteLine();
                this.textInterface.WriteLine($"Enter a unique name for each player, between {this.playerSettings.MinimumNameLength} and {this.playerSettings.MaximumNameLength} characters.");
                for (int i = 0; i < playerCount; i++)
                {
                    this.textInterface.Write($"Player {i + 1}: ");
                    while (true)
                    {
                        var line = this.textInterface.ReadLine(this.playerSettings.MaximumNameLength, this.playerSettings.MinimumNameLength);
                        if (String.IsNullOrWhiteSpace(line) || playerCollection.FirstOrDefault(player => String.Equals(player.Name, line)) != null)
                        {
                            this.textInterface.WriteLine("Error: Player name must be unique and contain at least one character.");
                            this.textInterface.Write($"Enter a unique name for Player {i + 1}: ");
                        }
                        else
                        {
                            playerCollection.Add(this.playerFactory.Create(line));
                            break;
                        }
                    }
                }
            }
            else
            {
                var players = Enumerable.Range(1, playerCount)
                              .Select(index => playerFactory.Create("Player " + index));
                playerCollection.AddRange(players);
            }

            return(playerCollection);
        }
Ejemplo n.º 10
0
        public void Join(IPlayerSlot playerSlot)
        {
            if (playerSlot.Ready)
            {
                return;
            }
            var wasStarted = HasStarted;

            playerSlot.Join(playerFactory.Create(playerSlot));
            if (!wasStarted && HasStarted)
            {
                foreach (var player in Players)
                {
                    playerInitializer.Initialize(player);
                }
                Ball = ballFactory.Create(new Point(Width / 2, Height / 2));
                ballInitializer.Initialize(Ball);
            }
        }
Ejemplo n.º 11
0
        public Game(
            ICardDeckFactory cardDeckFactory,
            IPlayerFactory playerFactory,
            IActionStepper actionStepper,
            int playerCount)
        {
            CardDeck = cardDeckFactory.CreateDeck(this);

            var players = new List <IPlayer>();

            for (var i = 0; i < playerCount; i++)
            {
                players.Add(playerFactory.Create(this));
            }

            Players = players.ToArray();

            _actionStepper = actionStepper;

            Step();
        }
Ejemplo n.º 12
0
        public async void StartGame(GameType type, string level = "")
        {
            logger.Info("Game started");
            try
            {
                if (MoveReceived == null)
                {
                    logger?.Error("InvalidOperationException: " + StringResources.TheGameCanNotBeStartedBecauseOfMoveReceivedIsNull());
                    throw new InvalidOperationException(
                              StringResources.TheGameCanNotBeStartedBecauseOfMoveReceivedIsNull());
                }

                var players = new List <IPlayer>();
                switch (type)
                {
                case GameType.SinglePlayer:
                    players.Add(playerFactory.Create(PlayerType.Human, 1));
                    players.Add(playerFactory.Create(PlayerType.Bot, 2));
                    break;

                case GameType.TwoPlayers:
                    players.Add(playerFactory.Create(PlayerType.Human, 0));
                    players.Add(playerFactory.Create(PlayerType.Human, 0));
                    break;

                case GameType.Online:
                    if (proxy == null)
                    {
                        logger?.Error("InvalidOperationException: " +
                                      StringResources.TheGameCanNotBeStartedBecauseOfProxyIsNull());
                        throw new InvalidOperationException(
                                  StringResources.TheGameCanNotBeStartedBecauseOfProxyIsNull());
                    }
                    isOnlineGameRequestCancelled = false;

                    if (!isRequestingOnlineGame)
                    {
                        players = await Task.Factory.StartNew(RequestOnlinePlayer).Result;
                    }

                    if (players.Count != 2)
                    {
                        return;
                    }

                    if (players[0].Type.Equals(PlayerType.OnlinePlayer))
                    {
                        GetFirstMove(myOnlineId);
                    }
                    break;

                case GameType.Bluetooth:
                    break;

                case GameType.Wifi:
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(type), type, null);
                }
                CurrentGame = gameFactory.Create(players, level);
            }
            catch (TimeoutException ex)
            {
                string exceptionMessage = StringResources.TimeoutExceptionOccured("StartGame", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
            catch (FaultException ex)
            {
                string exceptionMessage = StringResources.ExceptionOccuredOnServerSide("StartGame", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
            catch (CommunicationException ex)
            {
                string exceptionMessage = StringResources.CommunicationProblemOccured("StartGame", ex.Message);
                logger?.Error(exceptionMessage);

                throw new GameServerException(exceptionMessage, ex);
            }
        }
        /// <summary>
        /// Process skeleton data associated with an AllFramesReady event.
        /// </summary>
        /// <param name="skeletons">
        /// Skeletons to process.
        /// </param>
        /// <param name="e">
        /// Event arguments.
        /// </param>
        private void ProcessSkeletons(Skeleton[] skeletons, AllFramesReadyEventArgs e)
        {
            IEnumerable <Skeleton> filteredSkeletons = skeletons;

            if (null != SkeletonFilter)
            {
                filteredSkeletons = SkeletonFilter.Filter(skeletons).ToList();
                ChooseSkeletons(filteredSkeletons);
            }

            var idsSeen = new HashSet <int>();

            foreach (Skeleton skeleton in filteredSkeletons)
            {
                if (SkeletonTrackingState.Tracked == skeleton.TrackingState)
                {
                    TPlayer player;

                    // Determine if we're already tracking this player
                    if (id2PlayerMap.ContainsKey(skeleton.TrackingId))
                    {
                        player = id2PlayerMap[skeleton.TrackingId];
                    }
                    else
                    {
                        // If we're not yet tracking player, create one and let client know that
                        // a new player has started interacting with Kinect sensor.
                        player = playerFactory.Create();

                        id2PlayerMap.Add(skeleton.TrackingId, player);

                        OnPlayerStatusChanged(PlayerStatus.Joined, player);
                    }

                    // Update player data and let client know that player has been changed
                    player.Update(skeleton, e);

                    OnPlayerStatusChanged(PlayerStatus.Updated, player);

                    idsSeen.Add(skeleton.TrackingId);
                }
            }

            // Check if any players have left the scene
            var leftScene = new HashSet <int>();

            foreach (int tracked in id2PlayerMap.Keys)
            {
                if (!idsSeen.Contains(tracked))
                {
                    leftScene.Add(tracked);
                }
            }

            // Let client know if any players have stopped interacting with Kinect sensor
            foreach (int id in leftScene)
            {
                var leavingPlayer = id2PlayerMap[id];
                OnPlayerStatusChanged(PlayerStatus.Left, leavingPlayer);
                id2PlayerMap.Remove(id);
                playerFactory.Cleanup(leavingPlayer);
            }
        }
Ejemplo n.º 14
0
 public IPlayerModel Create(ICharacterModel character, IPull <IGrenadeModel> grenadePull, IPull <IMineModel> minePull)
 {
     return(_playerFactory.Create(character, grenadePull, minePull));
 }
Ejemplo n.º 15
0
        private IPlayCoordinator ConstructPlayCoordinator(IEnumerable <string> playerNames)
        {
            var players = _playerFactory.Create(playerNames);

            return(_playCoordinatorFactory.Create(players));
        }
 private void Create_Regular_Player()
 {
     _sut.Create(_mockChoseSideOfTrack.Object, _mockChooseSecondBet.Object,
                 _mockselectRacingCardInCardsTurn.Object).Should().BeOfType <RegularPlayer>();
 }
Ejemplo n.º 17
0
        public IPlayer NewPlayer(int playerId = 0)
        {
            int id = playerId == 0 ? nextPlayerId++ : playerId;

            return(playerFactory.Create(PlayerType.OnlinePlayer, id));
        }