Create a design doc to `design.md` which describe an implement of the
Scoundrel poker game as a web game. This is a solo dungeon crawler
played with a standard deck of poker cards.
The rules are documented at the following places:
* https://rpdillon.net/scoundrel.html.
* http://www.stfj.net/art/2011/Scoundrel.pdf
Your goal is to create a game that can be hosted statically in a HTTP
server. It should be purely run in browser. There will be not
server-side code. For javascript libraries, use Preact if you think
it’s appropriate. The code should be able to run as-is in browser
without any building steps. In terms of coding style, functions should
be in `camelCase`, and variables should be in `snake_case`. Global
constants should be `UPPER_CASE`. Use text and unicode symbols for the
card faces, and some kind of CSS pattern for the card back.
In principle, the only cards the player is required to see are the 4
cards that form the room. However, for visual appeal, the game should
also show the current weapon card and all the monster cards it
defeated.
The game should contain a short description of the game rules, and
links to the external documents I linked above.
The design doc should include a section that describes the rule of the
game.
You should only create the design doc for now.
----
This project is web implementation of the Scoundrel poker game. See
`design.md` for the overall design.
Right now when the player pick a monster card, they have to then click
a button to either attack using weapon or attack bare-handed. Change
this so that when the player hover the mouse to the monster card,
there will be an overlay on the card with two buttons: attach with
weapon or attach bare-handed. Both buttons should be square and with
an emoji on it.
----
Right now the game allows infinite undos. We should change that to
only allow 1 undo (the player can still undo multiple times, but they
can only go back by 1 step). However, don't complete remove the
history stack. Create a global (or put it in other scope as you see
fit) constant to indicate how many steps the player can go back. This
way we could easily change it in the future. Don't expose this setting
in the UI.