Viewer interface for the Mystery Master Logic Puzzle Solver. The Viewer class must implement this interface for the Solver.

Michael Benson

2021-08-01

interface IViewer {
    sayAddMark(mark: Mark): void;
    sayContradiction(msg: string): void;
    sayFactViolation(msg: string, mark: Mark, fact: Fact): void;
    sayLawViolation(msg: string, mark: Mark): void;
    sayLevel(msg: string): void;
    sayPlacers(mark: Mark, rule: Rule): void;
    sayRemoveMark(msg: string, mark: Mark): void;
    sayRuleViolation(msg: string, mark: Mark, rule: Rule): void;
    saySolution(msg: string, elapsedTime: number): void;
    sayStarted(msg: string): void;
    sayStopped(msg: string, elapsedTime: number): void;
    sayValidMark(msg: string, mark: Mark): void;
}

Implemented by

Methods

  • Event 05. Updates UI when mark is entered.

    Parameters

    Returns void

  • Event 08. Updates UI when potential mark contradicts an existing mark.

    Parameters

    • msg: string

      Message.

    Returns void

  • Event 09. Updates UI when mark violates a fact.

    Parameters

    • msg: string

      Message.

    • mark: Mark

      Mark.

    • fact: Fact

      Fact.

    Returns void

  • Event 11. Updates UI when mark violates a law.

    Parameters

    • msg: string

      Message.

    • mark: Mark

      Mark.

    Returns void

  • Event 03. Updates UI when level changes.

    Parameters

    • msg: string

      Message.

    Returns void

  • Event 12. Updates UI when rule updates one or more nouns.

    Parameters

    Returns void

  • Event 06. Updates UI when mark is removed.

    Parameters

    • msg: string

      Message.

    • mark: Mark

      Mark.

    Returns void

  • Event 10. Updates UI when mark violates a rule.

    Parameters

    • msg: string

      Message.

    • mark: Mark

      Mark.

    • rule: Rule

      Rule.

    Returns void

  • Event 04. Updates UI when solution is found.

    Parameters

    • msg: string

      Message.

    • elapsedTime: number

      Elapsed time in milliseconds.

    Returns void

  • Event 01. Updates UI when solver starts solving a puzzle.

    Parameters

    • msg: string

      Message.

    Returns void

  • Event 02. Updates UI when solver stops solving a puzzle.

    Parameters

    • msg: string

      Message.

    • elapsedTime: number

      Elapsed time in milliseconds.

    Returns void

  • Event 07. Updates UI when mark is validated.

    Parameters

    • msg: string

      Message.

    • mark: Mark

      Mark.

    Returns void