How wjmmph/calculator works
CAlculator v1.04 combines an interactive arithmetic calculator with a password-protected document vault. The main loop dispatches calculator input and vault states; users can create or unlock a vault, then read, append, export, or delete its contents, with music controls in settings. The graph reflects the supplied tree and sampled source; vault menu/read modules are represented at their enclosing directory because their implementations were not sampled.
Main entry points: main.py State dispatcher · state.py Shared state · VaultManager.py Vault manager · result.py Calculation result
Components 21
Application flow
- State dispatcher
CAlculator v1.04/main.py - Shared state
CAlculator v1.04/state.py
Calculator
- First number
CAlculator v1.04/GAME/first.py - Operator input
CAlculator v1.04/GAME/calc_operator.py - Second number
CAlculator v1.04/GAME/second.py - Calculation result
CAlculator v1.04/GAME/result.py - Continue choice
CAlculator v1.04/GAME/choice.py - Exit handler
CAlculator v1.04/GAME/exit.py
Secure vault
- Vault initialization
CAlculator v1.04/SECURE_VAULT/initialization.py - Vault menu
CAlculator v1.04/SECURE_VAULT - Append data
CAlculator v1.04/SECURE_VAULT/write_new.py - Read data
CAlculator v1.04/SECURE_VAULT - Vault settings
CAlculator v1.04/SECURE_VAULT/settings.py - Vault manager
CAlculator v1.04/SECURE_VAULT/VaultManager.py - Encrypted vault
Music playback
- Music player
CAlculator v1.04/SECURE_VAULT/initialization.py - Audio asset
ASSETS/Where_Winds_Meets.mp3
Other components
- User
- Crypto and document libraries
- Pygame audio
- Internet
Connections 34
- User → State dispatcher: interacts
- State dispatcher → Shared state: reads state
- State dispatcher → First number: dispatches
- State dispatcher → Operator input: dispatches
- State dispatcher → Second number: dispatches
- State dispatcher → Calculation result: dispatches
- State dispatcher → Continue choice: dispatches
- State dispatcher → Exit handler: dispatches
- State dispatcher → Vault initialization: dispatches
- State dispatcher → Vault menu: dispatches
- State dispatcher → Append data: dispatches
- State dispatcher → Read data: dispatches
- State dispatcher → Vault settings: dispatches
- First number → Shared state: updates
- Operator input → Shared state: updates
- Second number → Shared state: updates
- Calculation result → Shared state: updates
- Calculation result → First number: reads operands
- Calculation result → Operator input: reads operator
- Calculation result → Second number: reads operand
- Continue choice → Shared state: updates
- Vault initialization → Vault manager: creates or authenticates
- Vault initialization → Shared state: updates
- Append data → Vault manager: decrypts vault
- Append data → Encrypted vault: rewrites
- Read data → Vault manager: reads contents
- Vault settings → Vault manager: exports or deletes
- Vault settings → Music player: controls playback
- Vault settings → Shared state: updates
- Vault manager → Encrypted vault: encrypts and decrypts
- Vault manager → Crypto and document libraries: uses crypto and DOCX
- Music player → Audio asset: loads
- Music player → Pygame audio: controls audio
- Music player → Internet: downloads missing track