diff --git a/README.md b/README.md index eb786ab..44ac188 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,55 @@ You lose if: * Your code raises an exception. * All your ships have been sunk. - -How To Play +TECHNOLOGIES -------------- +* HTML +* Javascript +* CSS + + + +HOW TO PLAY +-------------- + 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. diff --git a/index.html b/index.html index 2709d2d..b319232 100644 --- a/index.html +++ b/index.html @@ -74,16 +74,16 @@