What's Changed
Implemented Stories
-
Initialize Game Components
- The Game Loop initializes the Interpreter and View.
- The Pydispatch bus is set up to mediate events between components.
-
Manage Game Flow
- The Game Loop invokes the Interpreter to perform game steps.
- The Game Loop checks for
Exit_Gameevents after each step. - The Game Loop terminates the game if an
Exit_Gameevent is received.
-
Choices Flow
- The Interpreter sends
Put_Choiceevents with options. - The View receives
Put_Choiceevents and presents the options to the player. - The View captures user input when a
Put_Choiceevent is active. - The View sends a
Make_Choiceevent with the player's choice to the Interpreter. - The Interpreter receives the
Make_Choiceevent and processes the choice.
- The Interpreter sends
-
Exit Flow
- The View allows the player to trigger an exit command.
- The Interpreter processes the exit command and dispatches an
Exit_Gameevent. - The Game Loop receives the
Exit_Gameevent, performs cleanup, and shuts down the game.
-
CLI Entrypoint
- The CLI Supports manual testing of implemented stories
- The CLI runs from terminal via
IFEngineorpython -m engine.main
-
Logging Story
- Debug Log traces entry and decision points for
Interpereter,View, andGame - Log messages clearly indicate module of origin:
[View] User picked choice north" - Log is configured via
pyproject.toml
- Debug Log traces entry and decision points for
Full Changelog: 0.0.1.pre-2...0.0.1.pre-3