Пример #1
0
    void BuildMap()
    {
        var offset = new Vector3(w - 1, h - 1, 0) * 0.32f;

        for (int c = 0; c < w; c++)
        {
            for (int r = 0; r < h; r++)
            {
                var objType = _map[r, c];
                var obj     = (GameObject)Object.Instantiate(_objects[objType]);

                if (objType == 1 || objType == 2)
                {
                    pointsCount++;
                }
                else if (objType == 4)
                {
                    _caspers.Add(obj.GetComponent <Casper>());
                }
                else if (objType == 5)
                {
                    _player = obj.GetComponent <PacmanPlayer>();
                }

                if (obj != null)
                {
                    var pos = new Vector3(0.64f * (float)c, 0.64f * (float)r, 0f);
                    obj.SetActive(true);
                    obj.transform.SetParent(transform);
                    obj.transform.position = pos - offset;
                }
            }
        }
    }
Пример #2
0
        public override Task OnConnected()
        {
            var x      = Interlocked.Increment(ref _x);
            var random = new ThreadLocal <Random>(() => new Random(x)).Value;

            var player = new PacmanPlayer(
                id: Context.ConnectionId,
                name: x.ToString(),
                position: new Position(random.Next(1, 7), random.Next(1, 7)));

            _broadcaster.UpdateFrame(Broadcaster.Model.AddPlayer(player).AdvanceTick());

            return(base.OnConnected());
        }
Пример #3
0
        public void BarelyPoweredUpPacmanReturnsToNormalAfterATick()
        {
            // arrange
            var player = new PacmanPlayer("1", "Michael", DefaultPosition, powerUpTicksRemaining: 1);
            var frame  = new Frame(players: new List <Player> {
                player
            });

            const bool expected = false;

            // act
            var result = Engine.AdvanceTick(frame);
            var actual = result.Players.OfType <PacmanPlayer>().Single(p => p.Id == player.Id).IsPoweredUp;

            // assert
            Assert.AreEqual(expected, actual);
        }
Пример #4
0
    void BuildMap()
    {
        var offset = new Vector3 (w-1, h-1, 0) * 0.32f;
        for (int c = 0; c < w; c++)
        {
            for (int r = 0; r < h; r++)
            {
                var objType = _map[r, c];
                var obj = (GameObject)Object.Instantiate(_objects[objType]);

                if (objType == 1 || objType == 2)
                    pointsCount++;
                else if (objType == 4)
                {
                    _caspers.Add(obj.GetComponent<Casper>());
                }
                else if (objType == 5)
                    _player = obj.GetComponent<PacmanPlayer>();

                if (obj != null)
                {
                    var pos = new Vector3(0.64f * (float)c, 0.64f * (float)r, 0f);
                    obj.SetActive(true);
                    obj.transform.SetParent(transform);
                    obj.transform.position = pos - offset;
                }
            }
        }
    }