Skip to content

User story: Fire

Cade Raichart edited this page Feb 4, 2017 · 2 revisions

As a user, I want to be able to fire at the other player so that way I can try and win!

Conversation:

  • The fire button will always be on the page for the player.

  • It must allow the player to choose where they want to fire.

  • After the fire button is pressed the user must be able to see if they hit the target or not, in the case of battle ship, will be displayed with words.

  • The user should not be able to fire again until the computer has a turn. (optional)

Confirmation:

  • Click the Fire button

  • Check that information was sent to the server (both the player hit information, and the Json computers information)

  • Ensure that a hit is a hit with word display and miss is a miss with word display

INVEST:

I = besides the initial building of the model, which is necessary for all components of the game, this does not rely on any other part of the game. One could argue that placing ships is necessary but if it is not implemented currently the game objects can be hard coded.

N = There are two conversation topics that be optional, or even feature creep, they are not necessary to getting the game running and therefore can be implemented as late features if there is time and full build is working.

V = Without the option to fire then battleship cannot exist as a game, there would only be ships on a map.

E = This is a large feature of the game, but is not necessarily that complex and can be down within a few days (if you ignore the optional features). One only needs to read in the json information of the computer and the firing point that the user has inputted and see if the two match. If they do it is a hit, if not it is a miss.

S = This is a small feature of the larger game that can be given to one person.

T = There are ways to test the code, we can use assert statements with things we already know to be true with the results that are returned. Or we can use test first to write the function which would slow the process, but with the scope of this module it is not impossible.

Clone this wiki locally