@kitten-science/kitten-engineers
Version:
22 lines • 2.06 kB
TypeScript
import type { PayloadBuildings } from "@kitten-science/kitten-analysts/KittenAnalysts.js";
import type { EngineState } from "@kitten-science/kitten-scientists/Engine.js";
import type { Game } from "@kitten-science/kitten-scientists/types/game.js";
import type { TreeNode } from "@oliversalzburg/js-utils/data/tree.js";
export declare const Solutions: readonly ["academy", "accelerator", "aiCore", "amphitheatre", "aqueduct", "barn", "biolab", "brewery", "calciner", "chapel", "chronosphere", "factory", "field", "harbor", "hut", "library", "logHouse", "lumberMill", "magneto", "mansion", "mine", "mint", "observatory", "oilWell", "pasture", "quarry", "reactor", "smelter", "steamworks", "temple", "tradepost", "unicornPasture", "warehouse", "workshop", "zebraForge", "zebraOutpost", "zebraWorkshop", "ziggurat", "alloy", "beam", "bloodstone", "blueprint", "compedium", "concrate", "eludium", "gear", "kerosene", "manuscript", "megalith", "parchment", "plate", "scaffold", "ship", "slab", "steel", "tanker", "tMythril", "thorium", "wood", "alicorn", "antimatter", "blackcoin", "burnedParagon", "catnip", "coal", "culture", "elderBox", "faith", "furs", "gflops", "gold", "hashrates", "iron", "ivory", "karma", "kittens", "manpower", "minerals", "necrocorn", "oil", "paragon", "relic", "science", "sorrow", "spice", "starchart", "tears", "temporalFlux", "timeCrystal", "titanium", "unicorns", "unobtainium", "uranium", "void", "wrappingPaper", "zebras"];
export type Solution = (typeof Solutions)[number];
export interface Operator extends TreeNode<Operator> {
name: string;
requires: Array<Solution>;
solves: Array<Solution>;
ancestors: Set<Operator>;
calculateCost: () => number;
execute: (game: Game, state: EngineState, snapshots: {
buildings: PayloadBuildings;
}) => EngineState;
}
export declare class GraphSolver {
operators: Iterable<Operator>;
constructor(operators: Iterable<Operator>);
solve(node: Operator, root?: Operator, parents?: Iterable<Operator>): Operator;
}
//# sourceMappingURL=GraphSolver.d.ts.map