Ejemplo n.º 1
0
        public void Issue18_Teleport()
        {
            var gameState = new GameState();

            gameState.Cols         = 6;
            gameState.Rows         = 6;
            gameState.MaxTurns     = 5;
            gameState.TurnsElapsed = 0;
            gameState.Grid         = "1....." +
                                     "......" +
                                     "......" +
                                     "......" +
                                     "......" +
                                     "......";
            gameState.P1 = new Player()
            {
                Spawn = 0
            };
            gameState.P2 = new Player()
            {
                Spawn = gameState.Grid.Length - 1
            };
            var game    = new Game(gameState, "", "");
            var p1moves = new PlayerMoves()
            {
                PlayerName = "p1",
                Moves      = new[] { new BotletMove(0, gameState.Grid.Length - 1) }
            };

            game.UpdateGameState(new[] { p1moves });
            var grid = gameState.Grid;

            Assert.IsTrue(grid.IndexOf('1') != gameState.Grid.Length - 1);
        }
Ejemplo n.º 2
0
    // Start is called before the first frame update
    void Start()
    {
        pm = GetComponent <PlayerMoves>();
        //cuando tengamos mas rayos inicializarlos con un for

        raysUp        = new List <Ray>();
        raysDown      = new List <Ray>();
        raysLeft      = new List <Ray>();
        raysRight     = new List <Ray>();
        raysLeftUp    = new List <Ray>();
        raysRightUp   = new List <Ray>();
        raysLeftDown  = new List <Ray>();
        raysRightDown = new List <Ray>();

        for (int i = 0; i < transform.GetChild(6).childCount; i++)
        {
            raysUp.Add(new Ray(transform.GetChild(6).transform.GetChild(i).transform.position, Vector3.up));
            raysDown.Add(new Ray(transform.GetChild(7).transform.GetChild(i).transform.position, Vector3.down));
            raysLeft.Add(new Ray(transform.GetChild(8).transform.GetChild(i).transform.position, Vector3.left));
            raysRight.Add(new Ray(transform.GetChild(9).transform.GetChild(i).transform.position, Vector3.right));
        }

        for (int i = 0; i < transform.GetChild(10).childCount; i++)
        {
            raysLeftUp.Add(new Ray(transform.GetChild(10).transform.GetChild(i).transform.position, Vector3.left + Vector3.up));
            raysRightUp.Add(new Ray(transform.GetChild(11).transform.GetChild(i).transform.position, Vector3.right + Vector3.up));
            raysLeftDown.Add(new Ray(transform.GetChild(12).transform.GetChild(i).transform.position, Vector3.left + Vector3.down));
            raysRightDown.Add(new Ray(transform.GetChild(13).transform.GetChild(i).transform.position, Vector3.right + Vector3.down));
        }
    }
Ejemplo n.º 3
0
 public void Start()
 {
     pm        = FindObjectOfType <PlayerMoves>();
     go        = FindObjectOfType <GameOverScript>();
     sideBlock = GetComponentInChildren <BoxBlockSide>();
     rb        = gameObject.GetComponent <Rigidbody2D>();
     tr        = gameObject.GetComponent <Transform>();
     FreezeXandRot();
 }
Ejemplo n.º 4
0
        private static PlayerMoves CreatePlayerMoves(string pName, BotletMove[] existingMoves)
        {
            var moves = new PlayerMoves()
            {
                Moves = existingMoves, PlayerName = pName
            };

            return(moves);
        }
Ejemplo n.º 5
0
 public void Setup()
 {
     game = new Game();
     pm   = new PlayerMoves(game);
     p    = new Player("Testowy", 5000);
     p2   = new Player("Testowy2", 5000);
     game.present.Add(p);
     game.present.Add(p2);
 }
Ejemplo n.º 6
0
    private void OnTriggerExit(Collider other)
    {
        if (other.name == "RopeDetector")
        {
            GameManager.Instance.stopRope();

            GameObject  player = other.transform.parent.gameObject;
            PlayerMoves pm     = player.GetComponent <PlayerMoves>();
            pm.change_state("INI");
        }
    }
Ejemplo n.º 7
0
        private async Task <PlayerMoves> GetAllPlayerMovesAsync(BotPlayer player, GameState gameState)
        {
            var moves = await GetBotletMovesAsync(player, gameState);

            var playerMove = new PlayerMoves()
            {
                Moves = moves, PlayerName = player.PlayerName
            };

            return(playerMove);
        }
Ejemplo n.º 8
0
 private void SetInput(Vector2 input) {
     var move = PlayerMoves.Idle;
     if (input.magnitude > 0.5f) {
         if (Mathf.Abs(input.x) > Mathf.Abs(input.y)) {
             move = input.x > 0 ? PlayerMoves.Right : PlayerMoves.Left;
         } else {
             move = input.y > 0 ? PlayerMoves.Up : PlayerMoves.Down;
         }
     }
     _myMove = move;
 }
Ejemplo n.º 9
0
        public void BotsCanMove()
        {
            var gameState = new GameState();

            gameState.Cols         = 6;
            gameState.Rows         = 6;
            gameState.MaxTurns     = 5;
            gameState.TurnsElapsed = 0;
            gameState.Grid         = "1....." +
                                     "......" +
                                     "......" +
                                     "......" +
                                     "......" +
                                     "......";
            gameState.P1 = new Player()
            {
                Spawn = 0
            };
            gameState.P2 = new Player()
            {
                Spawn = gameState.Grid.Length - 1
            };
            var game = new Game(gameState, "", "");

            game.EnergySpawnFrequency = 1000;
            var p1moves = new PlayerMoves()
            {
                PlayerName = "p1",
                Moves      = new[] { new BotletMove(0, 1) }
            };

            game.UpdateGameState(new[] { p1moves });
            var grid = gameState.Grid;

            Assert.IsTrue(grid.IndexOf('1') == 1);

            p1moves.Moves = new[] { new BotletMove(1, 7) };
            game.UpdateGameState(new[] { p1moves });
            Assert.IsTrue(gameState.Grid.IndexOf('1') == 7);

            p1moves.Moves = new[] { new BotletMove(7, 6) };
            game.UpdateGameState(new[] { p1moves });
            Assert.IsTrue(gameState.Grid.IndexOf('1') == 6);

            p1moves.Moves = new[] { new BotletMove(6, 0) };
            game.UpdateGameState(new[] { p1moves });
            Assert.IsTrue(gameState.Grid.IndexOf('1') == 0);
        }
Ejemplo n.º 10
0
        private static HttpMove GetEmptyHttpMove(string pName, HttpMoveResponse response, HttpRequestException ex = null)
        {
            var pMove = new PlayerMoves()
            {
                Moves      = new BotletMove[0],
                PlayerName = pName
            };
            var httpMove = new HttpMove()
            {
                PlayerMoves      = pMove,
                HttpMoveResponse = response,
                Exception        = ex
            };

            return(httpMove);
        }
Ejemplo n.º 11
0
        /// <summary>
        /// The main game loop thats allow the player to attack the enemy.
        /// </summary>
        /// <param name="random">Random number value that we are using for the player and enemy actions.</param>
        /// <param name="enemy">The current enemy.</param>
        /// <param name="player">The player that we are playing as.</param>
        /// <param name="tools">Player restriction area - counters for the hheal and three strike attack usages.</param>
        private static void GameLoop(Random random, Enemy enemy, Player player, Tools tools)
        {
            Print.PrintMessage(Messages.EnemyEncounter, player.Name, enemy.Name);

            try
            {
                while (!enemy.IsDead && !player.IsDead)
                {
                    PlayerMoves.PlayerAction(random, enemy, player, tools);
                    EnemyMoves.EnemyAction(random, enemy, player);

                    ConsoleMessageColor.ResetMessageColor();
                }
            }
            catch (Exception e)
            {
                Print.PrintMessage(Messages.GameLoopError, e);
            }
        }
Ejemplo n.º 12
0
        public void EnergyNeverCollected()
        {
            var gameState = new GameState();

            gameState.Cols         = 6;
            gameState.Rows         = 6;
            gameState.MaxTurns     = 5;
            gameState.TurnsElapsed = 1;
            gameState.Grid         = "1....." +
                                     "*2...." +
                                     "......" +
                                     "......" +
                                     "......" +
                                     "......";
            gameState.P1 = new Player()
            {
                Spawn = 0
            };
            gameState.P2 = new Player()
            {
                Spawn = gameState.Grid.Length - 1
            };
            var game = new Game(gameState, "", "");

            game.EnergySpawnFrequency = 100000;

            var p1moves = new PlayerMoves()
            {
                PlayerName = "p1",
                Moves      = new[] { new BotletMove(0, 0) }
            };

            for (int i = 0; i < 200; i++)
            {
                game.UpdateGameState(new[] { p1moves });
            }
            var grid = gameState.Grid;

            Assert.IsTrue(grid.IndexOf('1') == 0);
            Assert.IsTrue(grid.IndexOf('2') == 7);
            Assert.IsTrue(grid.IndexOf('*') == 6);
        }
Ejemplo n.º 13
0
    private void OnTriggerEnter(Collider other)
    {
        if (other.name == "RopeDetector")
        {
            GameManager.Instance.startRope();
            GameObject  player = other.transform.parent.gameObject;
            PlayerMoves pm     = player.GetComponent <PlayerMoves>();

            if (horizontal)
            {
                pm.horizontal_rope        = true;
                player.transform.position = new Vector3(player.transform.position.x, transform.position.y, player.transform.position.z);
            }
            else
            {
                pm.horizontal_rope        = false;
                player.transform.position = new Vector3(transform.position.x, player.transform.position.y, player.transform.position.z);
            }
            pm.change_state("ROPE");
        }
    }
Ejemplo n.º 14
0
        public void EnergyBug()
        {
            var gameState = new GameState();

            gameState.Cols         = 6;
            gameState.Rows         = 6;
            gameState.MaxTurns     = 5;
            gameState.TurnsElapsed = 0;
            gameState.Grid         = "......" +
                                     ".1...." +
                                     ".*2..." +
                                     "......" +
                                     "......" +
                                     "......";
            gameState.P1 = new Player()
            {
                Spawn = 0
            };
            gameState.P2 = new Player()
            {
                Spawn = gameState.Grid.Length - 1
            };
            var game    = new Game(gameState, "", "");
            var p1moves = new PlayerMoves()
            {
                PlayerName = "p1",
                Moves      = new[]  { new BotletMove(gameState.Grid.IndexOf('1'), gameState.Grid.IndexOf('*')) }
            };
            var p2moves = new PlayerMoves()
            {
                PlayerName = "p2",
                Moves      = new[] { new BotletMove(gameState.Grid.IndexOf('2'), gameState.Grid.IndexOf('*')) }
            };

            game.UpdateGameState(new[] { p1moves, p2moves });
            var grid = gameState.Grid;

            Assert.IsTrue(grid.Count(x => x == '1') == grid.Count(x => x == '2'));
            Assert.IsTrue(gameState.P1.Energy == gameState.P2.Energy);
        }
Ejemplo n.º 15
0
        public static async Task <HttpMove> GetPlayerMovesAsync(BotPlayer player, GameState gameState)
        {
            try
            {
                MoveRequest moveRequest = new MoveRequest()
                {
                    State = gameState, Player = player.PlayerName
                };
                string     jsonMoveRequest = JsonConvert.SerializeObject(moveRequest);
                HttpClient client          = GetClient(player.Uri);
                var        content         = new StringContent(jsonMoveRequest, Encoding.UTF8, "application/json");
                var        response        = await client.PostAsync(player.Uri, content);

                response.EnsureSuccessStatusCode();
                var responseJson = await response.Content.ReadAsStringAsync();

                var moves      = JsonConvert.DeserializeObject <List <BotletMove> >(responseJson);
                var playerMove = new PlayerMoves()
                {
                    Moves = moves, PlayerName = player.PlayerName
                };
                var httpMove = new HttpMove()
                {
                    HttpMoveResponse = HttpMoveResponse.OK,
                    PlayerMoves      = playerMove
                };
                return(httpMove);
            }
            catch (TaskCanceledException ex)
            {
                //This means the Http Client timed out. We return an empy move list instead.
                return(GetEmptyHttpMove(player.PlayerName, HttpMoveResponse.Timeout));
            }
            catch (HttpRequestException ex)
            {
                //This means a 400 returned or something like that, which is a disqualification.
                return(GetEmptyHttpMove(player.PlayerName, HttpMoveResponse.Error, ex));
            }
        }
Ejemplo n.º 16
0
    private PlayerMoves FilterMove(PlayerMoves move) {
        if ((move == PlayerMoves.Left && _position <= -_moveRange) || (move == PlayerMoves.Right && _position >= _moveRange)) {
            return PlayerMoves.Idle;
        }

        return move;
    }
Ejemplo n.º 17
0
 // Use this for initialization
 void Start()
 {
     playerMoves = GameObject.FindObjectOfType<PlayerMoves> ();
 }
Ejemplo n.º 18
0
 private void Moving()
 {
     _controller.Move(new Vector3(_joystick.Horizontal, -_graviry, _joystick.Vertical) * _speed * Time.deltaTime);
     PlayerMoves?.Invoke();
 }
Ejemplo n.º 19
0
 private void Getrefs()
 {
     moves   = GetComponent <PlayerMoves>();
     attacks = GetComponent <PlayerAttack>();
 }
Ejemplo n.º 20
0
 void Start()
 {
     pm    = transform.GetComponentInParent <PlayerMoves>();
     pa    = transform.GetComponentInParent <PlayerAnimations>();
     timer = 0f;
 }
Ejemplo n.º 21
0
 public Command(string name, PlayerMoves direction)
 {
     Tag       = name;
     Direction = direction;
 }
Ejemplo n.º 22
0
    public void storeMoves(int tileIndex)
    {
        PlayerMoves newPlayerMove = new PlayerMoves();

        newPlayerMove.savedPlayer = currentPlayer.playerCharacter;
        if (isNormalGame)
        {
            switch (tileIndex)
            {
            case 0:
                newPlayerMove.tileHit = new int[0, 0];
                break;

            case 1:
                newPlayerMove.tileHit = new int[1, 0];
                break;

            case 2:
                newPlayerMove.tileHit = new int[2, 0];
                break;

            case 3:
                newPlayerMove.tileHit = new int[0, 1];
                break;

            case 4:
                newPlayerMove.tileHit = new int[1, 1];
                break;

            case 5:
                newPlayerMove.tileHit = new int[2, 1];
                break;

            case 6:
                newPlayerMove.tileHit = new int[0, 2];
                break;

            case 7:
                newPlayerMove.tileHit = new int[1, 2];
                break;

            case 8:
                newPlayerMove.tileHit = new int[2, 2];
                break;
            }
        }
        else if (!isNormalGame)
        {
            switch (tileIndex)
            {
            case 0:
                newPlayerMove.tileHit = new int[0, 0];
                break;

            case 1:
                newPlayerMove.tileHit = new int[1, 0];
                break;

            case 2:
                newPlayerMove.tileHit = new int[2, 0];
                break;

            case 3:
                newPlayerMove.tileHit = new int[3, 0];
                break;

            case 4:
                newPlayerMove.tileHit = new int[0, 1];
                break;

            case 5:
                newPlayerMove.tileHit = new int[1, 1];
                break;

            case 6:
                newPlayerMove.tileHit = new int[2, 1];
                break;

            case 7:
                newPlayerMove.tileHit = new int[3, 1];
                break;

            case 8:
                newPlayerMove.tileHit = new int[0, 2];
                break;

            case 9:
                newPlayerMove.tileHit = new int[1, 2];
                break;

            case 10:
                newPlayerMove.tileHit = new int[2, 2];
                break;

            case 11:
                newPlayerMove.tileHit = new int[3, 2];
                break;

            case 12:
                newPlayerMove.tileHit = new int[3, 0];
                break;

            case 13:
                newPlayerMove.tileHit = new int[3, 1];
                break;

            case 14:
                newPlayerMove.tileHit = new int[3, 2];
                break;

            case 15:
                newPlayerMove.tileHit = new int[3, 3];
                break;
            }
        }

        playerMovesToSave.Add(newPlayerMove);
    }
Ejemplo n.º 23
0
 // Start is called before the first frame update
 void Start()
 {
     m             = GetComponent <Renderer>().material;
     current_color = m.color;
     pm            = GetComponent <PlayerMoves>();
 }
Ejemplo n.º 24
0
 private void Awake()
 {
     moves   = GetComponent <PlayerMoves>();
     attacks = GetComponent <PlayerAttack>();
 }
Ejemplo n.º 25
0
 // Use this for initialization
 void Start()
 {
     player = GameObject.FindObjectOfType<PlayerMoves>();
     player.hasRope = true;
 }
Ejemplo n.º 26
0
 public void DoMove(PlayerMoves move) {
     switch (move) {
     case PlayerMoves.Down:
         _animator.SetTrigger("down");
         StartCoroutine(Jump(_position, _position, 0));
         break;
     case PlayerMoves.Up:
         _animator.SetTrigger("jump");
         StartCoroutine(Jump(_position, _position, 1f));
         break;
     case PlayerMoves.Left:
         _animator.SetTrigger(Flipped ? "forward" : "back");
         StartCoroutine(Jump(_position, _position - 1, 0.3f));
         break;
     case PlayerMoves.Right:
         _animator.SetTrigger(Flipped ? "back" : "forward");
         StartCoroutine(Jump(_position, _position + 1, 0.3f));
         break;
     case PlayerMoves.Fumble:
         _animator.SetTrigger("fumble");
         StartCoroutine(Fumble());
         break;
     }
     _myMove = move;
 }