Add plan baseline: business case, stakeholders, project plan, four milestones, reviews
Refs: plan accepted by S01 in chat (autonomous mode)
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
# MIL-003 Turtle game and entry point
|
||||
|
||||
## Metadata
|
||||
| Key | Value |
|
||||
| --- | --- |
|
||||
| ID | MIL-003 |
|
||||
| CrossReference | [BC-001] |
|
||||
| Language | en |
|
||||
| Domain | it |
|
||||
|
||||
## Version History
|
||||
| Date | Status | Author | Reviewer | Change | Commit |
|
||||
| --- | --- | --- | --- | --- | --- |
|
||||
| 2026-10-13 | Accepted | Claude (AI) for S01 | AI as stand-in for S01 | Initial version; review RC-005: Go | pending |
|
||||
|
||||
---
|
||||
|
||||
## Purpose
|
||||
|
||||
Decide whether the playable game works end to end: map, input prompts, drawn names, counter in the title, `exit` and the learning file.
|
||||
|
||||
## Deliverable
|
||||
|
||||
A runnable `main.py` entry point that plays the full game with Turtle, built on the tested core, with the click-coordinate helper from lecture 1.
|
||||
|
||||
## Go / No-Go Criteria
|
||||
|
||||
| # | Criterion (objectively checkable) | Go | No-Go |
|
||||
| --- | --- | --- | --- |
|
||||
| 1 | `python main.py` starts and shows the blank map titled "U.S. States Game" | Met | Not met |
|
||||
| 2 | A correct guess writes the state name at its coordinates and increments the counter in the title | Met | Not met |
|
||||
| 3 | A wrong guess re-opens the prompt without a crash | Met | Not met |
|
||||
| 4 | Typing `exit` ends the game and writes `states_to_learn.csv` | Met | Not met |
|
||||
| 5 | Guessing all 50 states ends the game | Met | Not met |
|
||||
| 6 | The Turtle layer has a pytest test using a fake screen (no display needed) | Met | Not met |
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Depends on | Reason |
|
||||
| --- | --- |
|
||||
| MIL-002 | The UI is built on the tested game core |
|
||||
|
||||
## Traceability
|
||||
|
||||
| Business Case objective / KPI / user story | Reference |
|
||||
| --- | --- |
|
||||
| Objectives 1, 2; Success criterion 1 | [BC-001] |
|
||||
|
||||
## Ownership
|
||||
|
||||
| Role | Stakeholder ID (SA) |
|
||||
| --- | --- |
|
||||
| Owner | S01 |
|
||||
| Approving reviewer | S01 |
|
||||
|
||||
## Target Date
|
||||
|
||||
2026-10-13 - within the one-working-day duration constraint of [BC-001].
|
||||
|
||||
## Tasks
|
||||
|
||||
| # | Task | Summary | Needs its own Use Case/User Story? | Reference |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| 1 | Set up screen, title and map image | Create the `screen`, set the title and register `blank_states_img.gif` as a shape (lecture 1), kept in a function with the assignment name. | No | |
|
||||
| 2 | Add mouse click coordinate helper | `get_mouse_click_coor(x, y)` prints click coordinates and the screen stays open with `mainloop`, as in lecture 1. | No | |
|
||||
| 3 | Implement the guess loop | While fewer than 50 states are guessed, prompt with `textinput`, title-case the answer, write the state at its coordinates and update the counter (lecture 2); `exit` breaks the loop (lecture 3). | No | |
|
||||
| 4 | Add the entry point | `main.py` wires screen, loop and the learning-file export so `python main.py` runs the game after setup. | No | |
|
||||
| 5 | Add UI test with a fake screen | Inject a fake screen and prompt into the loop to verify the flow without a display. | No | |
|
||||
| 6 | Run the game manually | Run the real game once and note the result in the milestone review. | No | |
|
||||
|
||||
---
|
||||
|
||||
[BC-001]: ../business-case.md
|
||||
Reference in New Issue
Block a user