The interface expressing the Gobstones standard domain defining types and operations to manipulate the Board, Stones, etc. It may be used as a type parameter to genWordsDef to complete the definition of the standard Gobstones Language. The behavior of those primitives must be provided to complete the definition of Standard Gobstones.

The type StandardWordsDef is the result of such use.

interface StandardDomain {
    DataConstructorsByType: {
        Color: {
            BLACK: string;
            BLUE: string;
            GREEN: string;
            RED: string;
        };
        Dir: {
            EAST: string;
            NORTH: string;
            SOUTH: string;
            WEST: string;
        };
    };
    LanguageDomain: string;
    Operations: {
        Functions: {
            CANMOVE: string;
            HASSTONES: string;
            MAXCOLOR: string;
            MAXDIR: string;
            MINCOLOR: string;
            MINDIR: string;
            NUMSTONES: string;
        };
        Operators: [];
        Procedures: {
            DROP: string;
            EMPTYBOARD: string;
            GOTOEDGE: string;
            GRAB: string;
            MOVE: string;
        };
    };
    Types: {
        COLOR: string;
        DIR: string;
    };
}

Properties

DataConstructorsByType: {
    Color: {
        BLACK: string;
        BLUE: string;
        GREEN: string;
        RED: string;
    };
    Dir: {
        EAST: string;
        NORTH: string;
        SOUTH: string;
        WEST: string;
    };
}

Type declaration

  • Color: {
        BLACK: string;
        BLUE: string;
        GREEN: string;
        RED: string;
    }
    • BLACK: string
    • BLUE: string
    • GREEN: string
    • RED: string
  • Dir: {
        EAST: string;
        NORTH: string;
        SOUTH: string;
        WEST: string;
    }
    • EAST: string
    • NORTH: string
    • SOUTH: string
    • WEST: string
LanguageDomain: string
Operations: {
    Functions: {
        CANMOVE: string;
        HASSTONES: string;
        MAXCOLOR: string;
        MAXDIR: string;
        MINCOLOR: string;
        MINDIR: string;
        NUMSTONES: string;
    };
    Operators: [];
    Procedures: {
        DROP: string;
        EMPTYBOARD: string;
        GOTOEDGE: string;
        GRAB: string;
        MOVE: string;
    };
}

Type declaration

  • Functions: {
        CANMOVE: string;
        HASSTONES: string;
        MAXCOLOR: string;
        MAXDIR: string;
        MINCOLOR: string;
        MINDIR: string;
        NUMSTONES: string;
    }
    • CANMOVE: string
    • HASSTONES: string
    • MAXCOLOR: string
    • MAXDIR: string
    • MINCOLOR: string
    • MINDIR: string
    • NUMSTONES: string
  • Operators: []
  • Procedures: {
        DROP: string;
        EMPTYBOARD: string;
        GOTOEDGE: string;
        GRAB: string;
        MOVE: string;
    }
    • DROP: string
    • EMPTYBOARD: string
    • GOTOEDGE: string
    • GRAB: string
    • MOVE: string
Types: {
    COLOR: string;
    DIR: string;
}

Type declaration

  • COLOR: string
  • DIR: string