Read all the stories. Get the elements of the view and model that will be needed to complete the first epic. In other words, design it, but don't implement the whole thing at once. Create a piece at a time when you need it.
Take it one story at a time. It is easier to have many small wins than to have one big catastrophe.
-
As a user I can see a 10 x 10 grid gameboard.
-
As a user when I click on a position, the position changes color so that I can tell that a position has been torpedoed.
-
As a user I can see how many torpedoes I have so that I can keep track of how many I have used.
-
As a user once a position has been torpedoed, it cannot be torpedoed again so that I don't waste torpedoes.
-
As user I expect there to be 5 single length ships on the board.
-
As a user when I click on a position I can see if there was a ship at that location so that I can see if I hit a ship. If there is a ship it counts as a hit.
-
As a user I have won the game when I have 5 hits on the board, so that I know when the game is won and over.
-
As a user I have a limit of 25 torpedoes to hit all ships, and when I run out I have lost the game.
-
As a user if I lose, I can see where the ships were, so that I know there were actual ships on the board.
-
As a user I can see how many torpedoes I have left instead of how many I have used.
-
As a user I don't have ships that touch, so that there is always space between ships.
-
As a user I can torpedo a 5 block ship, so that the game is diverse.
-
As a user I can torpedo two 4 block ships, so that the game is diverse.
-
As a user I can torpedo two 3 block ships,, so that the game is diverse.
-
As a user I can torpedo two 2 block ships, so that the game is diverse.
-
As a user I can torpedo one 1 block submarine, so that the game is diverse.
-
As a developer the ships can be oriented vertical or horizontal but not diagonally, so that there is a diverse placement of ships on the board.
-
As a developer I can randomly place the two 4 block ships, one vertical one horizontal, so that there is a diverse placement of 4 block ships on the board.
-
As a developer I can randomly place the 3 block ships, one vertical one horizontal, so that there is a diverse placement of 3 block ships on the board.
-
As a developer I can randomly place the two 2 block ships, one vertical one horizontal, so that there is a diverse placement of 2 block ships on the board.
-
As a user I can see the status of ships I have sunk/not sunk, so that I have an easier way of knowing how many and which ships I left.