Update README.md
This commit is contained in:
parent
188e28159a
commit
4d83a94a64
39
README.md
39
README.md
|
|
@ -35,42 +35,3 @@ HOW TO PLAY
|
||||||
|
|
||||||
Will Add soon
|
Will Add soon
|
||||||
|
|
||||||
`state` is a representation of the known state of the opponent’s fleet, as
|
|
||||||
modified by the player’s shots. It is given as an array of arrays; the inner
|
|
||||||
arrays represent horizontal rows. Each cell may be in one of three states:
|
|
||||||
`:unknown`, `:hit`, or `:miss`. E.g.
|
|
||||||
|
|
||||||
[[:hit, :miss, :unknown, ...], [:unknown, :unknown, :unknown, ...], ...]
|
|
||||||
# 0,0 1,0 2,0 0,1 1,1 2,1
|
|
||||||
|
|
||||||
`ships_remaining` is an array of the ships remaining on the opponent's board,
|
|
||||||
given as an array of numbers representing their lengths, longest first.
|
|
||||||
For example, the first two calls will always be:
|
|
||||||
|
|
||||||
[5, 4, 3, 3, 2]
|
|
||||||
|
|
||||||
If the player is lucky enough to take out the length 2 ship on their first two
|
|
||||||
turns, the third turn will be called with:
|
|
||||||
|
|
||||||
[5, 4, 3, 3]
|
|
||||||
|
|
||||||
and so on.
|
|
||||||
|
|
||||||
`take_turn` must return an array of co-ordinates for the next shot. In the
|
|
||||||
example above, we can see that the player has already played `[0,0]`, yielding
|
|
||||||
a hit, and `[1,0]`, giving a miss. They can now return a reasonable guess of
|
|
||||||
`[0,1]` for their next shot.
|
|
||||||
|
|
||||||
The console runner
|
|
||||||
------------------
|
|
||||||
|
|
||||||
A console runner is provided. It can be started using:
|
|
||||||
|
|
||||||
bundle exec bin/play path/to/player_a.rb path/to/player_b.rb
|
|
||||||
|
|
||||||
Players are isolated using DRb.
|
|
||||||
|
|
||||||
A couple of very basic players are supplied: `NaivePlayer` and
|
|
||||||
`AnotherNaivePlayer` put all their ships in a corner and guess at random (often
|
|
||||||
wasting turns by repeating themselves). `HumanPlayer` asks for input via the
|
|
||||||
console.
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user