cs-path-finding 1.0.2

.NET Framework 4.6.1
Install-Package cs-path-finding -Version 1.0.2
dotnet add package cs-path-finding --version 1.0.2
<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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: cs-path-finding, 1.0.2"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. 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
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

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 Versions
.NET Framework net461 net462 net463 net47 net471 net472 net48
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 980 4/29/2018
1.0.1 876 4/29/2018

Dijstra and Astar Path Finding in .NET 4.6.1