Update readme

main
lambda 2 years ago
parent dcd11536b2
commit 4efb230f2b
No known key found for this signature in database
GPG Key ID: 662ADE783CBB4026

@ -2,8 +2,13 @@
* About * About
This package is a core api for GateRunner card game. This package is a core api for GateRunner card game.
It is written as an exercise in functional programming with fp-ts library
and domain modelling.
Package contains game logic only without any rendering engine.
** Gameplay ** Gameplay
During game player should go through *levels* thats consist of lines of *doors*. During game *player* should go through *levels* thats consist of lines of *doors*.
Every line have three *doors* and player free to open any of them to skip line. Every line have three *doors* and player free to open any of them to skip line.
When player interacts with the *door* it turn into *event*. When player interacts with the *door* it turn into *event*.
@ -13,6 +18,8 @@ This package is a core api for GateRunner card game.
Player pass the level if it skip all lines with *move points* and *health* Player pass the level if it skip all lines with *move points* and *health*
greater than zero. greater than zero.
Player can skip line if he can pass at least one open door with *move points* > 0.
*Event* can be ether of: *Event* can be ether of:
- empty - empty
- item - item
@ -23,8 +30,31 @@ This package is a core api for GateRunner card game.
Player just pass whole line when interacts with event. Player just pass whole line when interacts with event.
More difficult level is, less empty events it have. More difficult level is, less empty events it have.
*** Item *event* *** Item *event*
Item can increase player's attributes once or permanent
Item that increase attribute once if *poition*, permanently is *artifact*
*Poitions* works increase only on *health* and *move points*
*Artifacts* can increase *attack* *defence* *health max* *move max*
Player can use *potion* only before open a door
*** Trap *event* *** Trap *event*
*Trap* works like negative *item* thats decrease parameters once or
permanent.
*** Enemy *event* *** Enemy *event*
*Enemy* is negative *player*. To pass the enemy we need to compare *attack*,
*defence* and *health* until health of *player* or *enemy* will be
equal or less than zero.
Skipping a line from start to finish is on *turn*. It consist of *phases*.
* Plan * Plan
** TODO Describe domain ** TODO Describe domain
*Turn*
,-------------------.
|Turn |
|-------------------|
|phases: phase[] |
|isComplete: boolean|
`-------------------'
** TODO Implement domain and operations over domain elements ** TODO Implement domain and operations over domain elements

Loading…
Cancel
Save