Black box sim engine (commands in, events out) with 3 piece types (Rook, Bishop, Knight), cargo transfer system with social status priority, collision detection, and victory/defeat conditions. 57 tests covering rules, simulation, loading, and solvability. Godot 4 presentation layer scaffolding.
16 lines
611 B
C#
16 lines
611 B
C#
namespace Chessistics.Engine.Model;
|
|
|
|
public class LevelDef
|
|
{
|
|
public int Id { get; init; }
|
|
public string Name { get; init; } = "";
|
|
public string Description { get; init; } = "";
|
|
public int Width { get; init; }
|
|
public int Height { get; init; }
|
|
public IReadOnlyList<ProductionDef> Productions { get; init; } = [];
|
|
public IReadOnlyList<DemandDef> Demands { get; init; } = [];
|
|
public IReadOnlyList<Coords> Walls { get; init; } = [];
|
|
public IReadOnlyList<PieceStock> Stock { get; init; } = [];
|
|
|
|
public int MaxDeadline => Demands.Count > 0 ? Demands.Max(d => d.Deadline) : 0;
|
|
}
|