示例#1
0
文件: AI.cs 项目: MrP78/MIniWar
    private void CalculatePositionToMoveTo()
    {
        moveChecker.ClearFree();
        moveChecker.CheckAvaliable(currentPlayerPosition, 1);

        if (moveChecker.IsOccupied(enemys[0].enemyObject.transform.position.x, enemys[0].enemyObject.transform.position.y))
        {
            proposedPos = new Vector2(currentPlayer.transform.position.x, currentPlayer.transform.position.y);
        }
        else if (((int)currentPlayerPosition.x + currentPlayer.moves) + currentPlayer.GetComponent <CharacterAtributes>().range >= enemys[0].enemyObject.transform.position.x)
        {
            moveChecker.ClearFree();
            moveChecker.CheckAvaliable(currentPlayerPosition, currentPlayer.moves);

            int b = ((int)enemys[0].enemyObject.transform.position.x - (int)currentPlayerPosition.x) - currentPlayer.GetComponent <CharacterAtributes>().range;
            proposedPos = new Vector2(currentPlayerPosition.x + b, enemys[0].enemyObject.transform.position.y);
            //if((proposedPos.x == currentPlayerPosition.x)&& enemys[0].enemyObject.transform.position.y == currentPlayerPosition.y)
            //{
            //   proposedPos = new Vector2(currentPlayerPosition.x, currentPlayerPosition.y);
            // }
        }
        else
        {
            moveChecker.ClearFree();
            moveChecker.CheckAvaliable(currentPlayerPosition, currentPlayer.moves);
            proposedPos = new Vector2(currentPlayerPosition.x + currentPlayer.moves, enemys[0].enemyObject.transform.position.y);
            // print(currentPlayer.name + " " + enemys[0].enemyName);
        }
        MoveToNewPosition();
    }
示例#2
0
文件: Player.cs 项目: MrP78/MIniWar
 public void Move()
 {
     //Vector2 movedFrom = new Vector2
     gameSpace.roundedPos = new Vector2(this.transform.position.x, this.transform.position.y);
     menu.value           = -1;
     isAttacking          = false;
     gather.ClearInfo();
     players = GameObject.FindObjectsOfType <Player>();
     if (moves > 0)
     {
         foreach (Player player in players)
         {
             player.IsMoving = false;
         }
         this.IsMoving = true;
         moveChecker.CheckAvaliable(this.transform.position, moves);
         moveChecker.ShowSquares();
     }
 }