forked from eros/curltastic
docs: record product requirements as complete sentences
Capture the agreed 34 requirements in REQUIREMENTS.md. Implementation details are omitted.
This commit is contained in:
parent
99a4f59a39
commit
3bdd67f815
36
REQUIREMENTS.md
Normal file
36
REQUIREMENTS.md
Normal file
@ -0,0 +1,36 @@
|
||||
# Requirements
|
||||
|
||||
1. Players play curling in a mobile browser from a 2D overhead view.
|
||||
2. The sheet is shown in portrait.
|
||||
3. A room has two teams and an unlimited number of clients.
|
||||
4. Each client picks Team 1 or Team 2 on that device.
|
||||
5. Anyone on the team whose turn it is may throw.
|
||||
6. Players join a room from a shareable link.
|
||||
7. If the link has no room, the client creates one and writes that room into the URL.
|
||||
8. A match has 10 ends. Each team has 8 stones per end.
|
||||
9. Extra ends are played while the score is tied after 10 ends.
|
||||
10. Hammer is random at the start. The team without hammer throws first in the end.
|
||||
11. The team that scores gives hammer away. A blank end keeps hammer.
|
||||
12. After a throw, that team has one fewer stone and the other team throws.
|
||||
13. When all throws have completed, the end is scored.
|
||||
14. Only stones touching the house can score.
|
||||
15. The team closest to the tee scores one point for each of its stones nearer than the opponent's nearest stone.
|
||||
16. If no stone can score, the end is 0-0.
|
||||
17. Every client sees the current end, both scores, hammer, whose turn it is, stones remaining, stone positions, trajectories from all shots, and whether the match is over.
|
||||
18. When the match ends, both scores are shown with a winner, or with no winner if tied.
|
||||
19. A thrown stone starts at the hack and travels toward the broom. The player chooses initial speed and curl.
|
||||
20. Clockwise curl moves the stone to the thrower's right.
|
||||
21. Stones bounce off other stones. Stones do not bounce back from a sideline or the backline.
|
||||
22. A stone is out if it touches a sideline. A stone must fully cross the backline to be out. A stone is out if it never fully crosses the hog line.
|
||||
23. The ice is a curling sheet with a house, hog line, sidelines, and a backline on the 12-foot ring.
|
||||
24. The default view frames the house, sidelines, and backline above the controls.
|
||||
25. The player can pan up and down the sheet to the hog line.
|
||||
26. On turn, the player drags to place the broom anywhere on the sheet, then throws.
|
||||
27. The player sets throw weight on a 1 to 10 scale, including named weights hack, board, control, normal, and peel.
|
||||
28. The player sets curl clockwise or counterclockwise. Clockwise is the default.
|
||||
29. Throw controls work only on that team's turn and only while stones are not moving.
|
||||
30. The HUD shows eight remaining-stone markers per team, a hammer marker, and a scoreboard with each end and a total.
|
||||
31. After the stones stop and the end is scored, an end-result overlay appears. The player dismisses it.
|
||||
32. All clients see the same stone motion. A stone that leaves play is hidden when it leaves the sheet.
|
||||
33. Errors and the final result appear on the page as copyable text, not as a blocking alert.
|
||||
34. Pinch-zoom is off. The client remembers the last team choice.
|
||||
Loading…
x
Reference in New Issue
Block a user