30 lines
2.2 KiB
Plaintext
30 lines
2.2 KiB
Plaintext
###############################################
|
|
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.
|
|
|
|
############################################### |