Skip to content

Commit

Permalink
doc: finish README
Browse files Browse the repository at this point in the history
  • Loading branch information
andrebazoli committed Sep 7, 2021
1 parent 9bbc8e0 commit 15ec73f
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 6 deletions.
59 changes: 54 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,53 @@
# troop-generator

Goodgame Studios code challenge
Generate a random arm for the available unit types provided.

## How to install

```
yarn add troop-generator
```

or

```
npm install -s troop-generator
```

## How to use

The `getArm` function accepts two parameters:

- `troopSize` - number of the total size of the arm
- `availableTroopTypes` - list of the available unit type

```
import { getArm } from 'troop-generator';
getArm(159, ["spearmen", "swordsmen", "archer"])
```

## Run tests

Install the dependencies

```
yarn
```

and run the tests:

```
yarn test
```

There's also the `yarn test:dev` that run the tests and watch for changes, used mainly when developing.

## Releases process

This repository is publishing the library to npm using [github actions](./.github/workflows/publish.lib.yml).

This action executes the tests, the build and then if everything is fine it publishes the dist folder. The action runs whenever a new release is created.

## Brainstorm

Expand All @@ -9,13 +56,15 @@ Goodgame Studios code challenge
- so the function will need to either receive the list of unit available OR the number of units available
- I preferred to receive the list with the names of available unit
- Generating randomly the arm
- {{[[TODO]]}} Get a random percentage
- {{[[TODO]]}} Get this percentage from the total unit amount provided to the function
- {{[[TODO]]}} Set it in a random available unit type
- {{[[TODO]]}} get the list of possible available unit types
- [x] Get a random percentage
- [x] Get this percentage from the total unit amount provided to the function
- [x] Set it in a random available unit type
- [] ~~get the list of possible available unit types~~
- Repeat until all available unit types have their value
- **Except** for the last one which will receive the remaining troops unit

## Assumptions

- Each available unit type needs to have at least one unit
- The available unit types will be provided
- Point to improve: **also** allow to create the arm without providing the available unit types. In this case, the number of available unit types would need to be provided anyway.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "troop-generator",
"version": "1.0.6",
"version": "1.0.7",
"main": "index.js",
"types": "./index.d.ts",
"repository": "git@github.com:rhinoandre/troop-generator.git",
Expand Down

0 comments on commit 15ec73f

Please sign in to comment.