示例#1
0
        public Position BestVector( Position pos )
        {
            Position dist = pos.Wrap() - this.Wrap();

            if ( dist.X >= GameState.MapWidth >> 1 )
                dist.X -= GameState.MapWidth;
            else if ( dist.X < -( GameState.MapWidth >> 1 ) )
                dist.X += GameState.MapWidth;

            if ( dist.Y >= GameState.MapHeight >> 1 )
                dist.Y -= GameState.MapHeight;
            else if ( dist.Y < -( GameState.MapHeight >> 1 ) )
                dist.Y += GameState.MapHeight;

            return dist;
        }
示例#2
0
        public Position BestVector(Position pos)
        {
            Position dist = pos.Wrap() - this.Wrap();

            if (dist.X >= GameState.MapWidth >> 1)
            {
                dist.X -= GameState.MapWidth;
            }
            else if (dist.X < -(GameState.MapWidth >> 1))
            {
                dist.X += GameState.MapWidth;
            }

            if (dist.Y >= GameState.MapHeight >> 1)
            {
                dist.Y -= GameState.MapHeight;
            }
            else if (dist.Y < -(GameState.MapHeight >> 1))
            {
                dist.Y += GameState.MapHeight;
            }

            return(dist);
        }