Syko.SimpleCellularAutomata
1.0.0
.NET Standard 2.0
Install-Package Syko.SimpleCellularAutomata -Version 1.0.0
dotnet add package Syko.SimpleCellularAutomata --version 1.0.0
<PackageReference Include="Syko.SimpleCellularAutomata" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Syko.SimpleCellularAutomata --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Syko.SimpleCellularAutomata, 1.0.0"
#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 Syko.SimpleCellularAutomata as a Cake Addin
#addin nuget:?package=Syko.SimpleCellularAutomata&version=1.0.0
// Install Syko.SimpleCellularAutomata as a Cake Tool
#tool nuget:?package=Syko.SimpleCellularAutomata&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Simple Cellular Automata
A 2D Cellular Automata simulator that supports custom neighborhoods and rules.
This simulator was written and used for the game Cellular Automata: Conway's Game of Life.
Usage
// The rules of the simulation is defined as a CASpec object.
CASpec spec = new CASpec(
new int[,] { // 2d array defining the neighbors that are counted for a cell (cell itself in the middle)
{ 1, 1, 1 },
{ 1, 0, 1 },
{ 1, 1, 1 }
},
new int[][] {
// When cell has <index> # of live neighbors: 1 = dead cell becomes alive
new int[] {0, 0, 0, 1, 0, 0, 0, 0, 0},
// When cell has <index> # of live neighbors: 1 = live cell stays alive
new int[] {0, 0, 1, 1, 0, 0, 0, 0, 0}
});
// Create the simulator
CASimulator simulator = new CASimulator(20, 20, spec);
// Add a glider
simulator.SetState(5, 5, true);
simulator.SetState(6, 6, true);
simulator.SetState(4, 7, true);
simulator.SetState(5, 7, true);
simulator.SetState(6, 7, true);
// Simulate
simulator.step();
simulator.step();
simulator.step();
simulator.step();
// Read state
bool[,] state = simulator.GetState().Clone();
License
MIT
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- 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.0 | 61 | 3/31/2022 |