AI: create outline for main game logic

This commit is contained in:
2026-10-06 23:31:46 -04:00
parent 9106f6e58d
commit be3516f9c7
3 changed files with 265 additions and 1 deletions
+21
View File
@@ -3,7 +3,28 @@ Prompt to Kiro AI (Default):
Use the spec-sheet.md file to create an outline of the game's main python file. please strictly create function definitions with detailed descriptions as comments next to them, and I PERSONALLY will write the actual code content. Clear description and good description of this outline is essential, so that I can implement the most effective methodology. Again, your job is outline and describe right now. not code. Any questions or clarifications can be asked if necessary.
Committed As: "AI: create outline for main game logic"
Response:
Done. I created main.py as a pure outline: function signatures with detailed comment descriptions and pass bodies, no implementation logic for you to write yourself.
How it's organized (MVC, matching the spec):
Data I/O — loadCreatures, loadSave, writeSave. Isolates all disk access.
Model — onAppStart, resetFishingState, pickRandomCreature, startSkillCheck. State setup and the fishing-cycle data.
Controller — onStep, onMousePress, onKeyPress, checkSkillHit. The game loop and input routing (using the real cmu_graphics hook names so they wire up automatically).
Economy — sellCreature, buyUpgrade, buyBaitLicense, setActiveBait. The shop and rogue-like upgrade/bait system.
View — redrawAll plus drawBackground, drawPlayerAndRod, drawShopEntities, drawSkillCheck, drawCatchDisplay, drawHud. Draw-only, split so redrawAll stays readable.
Entry — main() calling runApp.
Two things I decided on my own that you may want to adjust:
Database file: the spec says fish.csv, but your actual file is creatures.tsv at the repo root, tab-separated, with non-fish entries. I wrote the outline around creatures.tsv. If you'd rather follow the spec path, just change what you pass to loadCreatures.
A few open design questions I left as decisions in the comments rather than deciding for you:
Multi-bar skill check: must the player clear every bar, or is one good hit enough? (noted in checkSkillHit)
Selling: automatic on catch, or a deliberate action in the market? (noted in sellCreature)
Keyboard controls: included onKeyPress as optional — drop it if the game is mouse-only.
###############################################