cs-path-finding 1.0.2

dotnet add package cs-path-finding --version 1.0.2
NuGet\Install-Package cs-path-finding -Version 1.0.2
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="cs-path-finding" Version="1.0.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add cs-path-finding --version 1.0.2
#r "nuget: cs-path-finding, 1.0.2"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install cs-path-finding as a Cake Addin
#addin nuget:?package=cs-path-finding&version=1.0.2

// Install cs-path-finding as a Cake Tool
#tool nuget:?package=cs-path-finding&version=1.0.2

cs-path-finding

Path Finding library with Dijstra, A*

Install

Run the following command to install nuget package:

Install-Package cs-path-finding

Usage

The sample code below shows how to use the Dijstra Path finding:

using System;
using System.Collections.Generic;

namespace PathFinding
{
    class Program
    {
        static void Main(string[] args)
        {
            Random random = new Random();
            QuadTree space = new QuadTree(new Rectangle(0, 0, 2000, 2000));
            GridWorld pathFinder = new GridWorld(space);

            FVec2 target = new FVec2(1000, 1000);
            List<IAgent> population = new List<IAgent>();
            for (int i = 0; i < 10; ++i)
            {
                IAgent agent = new SimpleAgent(space);
                float y = 0; // vertical position
                float x = random.Next(2000);
                float z = random.Next(2000);
                agent.Position = new FVec3(x, y, z);
                agent.AgentID = i + 1;
                population.Add(agent);
            }

            for (int steps = 0; steps < 20; ++steps)
            {
                Dijstra paths = pathFinder.dijstra(target);

                foreach (IAgent agent in population)
                {
                    float y = 0; // vertical position
                    float x = random.Next(2000);
                    float z = random.Next(2000);
                    agent.Position = new FVec3(x, y, z);
                    List<FVec3> path = paths.GetPath(agent);
                    Console.WriteLine("Path for agent #{0} in step {1}: {2} navigation points", 
                        agent.AgentID, steps+1, path.Count);
                }

                target = new FVec2(random.Next(2000), random.Next(2000));
            }

        }
    }
}
Product Compatible and additional computed target framework versions.
.NET Framework net461 is compatible.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.2 1,203 4/29/2018
1.0.1 1,062 4/29/2018

Dijstra and Astar Path Finding in .NET 4.6.1