week 04 - day 04 - minesweeper -
Closed this issue · 2 comments
Minesweeper
In this assignment, you will communicate with a back-end API server to create the user-interface for a Minesweeper clone. It might help to familiarize yourself with the game if you've never played it.
Objectives
- Understand how state drives changes to an interface in React
- Respond to user events in React
- Understand and use REST APIs
- Use React lifecycle methods
- Understand and interpret API documentation
- Use
fetch
oraxios
to performPOST
request or
Requirements
Read over the documentation for the API we'll be using:
https://minesweeper-api.herokuapp.com/
You will need to interpret the response and render a graphical user interface. The API results include an array of arrays (two-dimensional array), these represent rows and columns. These are probably best translated into table rows (<tr>
) and table data (<td>
) cells.
Here's an example implementation of this assignment:
Explorer Mode
- Create a new game when the page loads, and render it on the screen, this look as close to gif as possible.
- Style the cells appropriately.
- Left clicking a cell performs the
check
action - Right/secondary clicking a cell performs the
flag
action - When the game status changed to
won
orlost
, show a victory or failure message.
Adventure Mode
- Before creating the game, prompt the user to choose: Easy, Medium, or Hard mode.
- Have fun with the styling, make it your own
Epic Mode
- Render your victory/failure message as it's own "screen".
- On that screen add a button to restart or play again.
- Store the current game id in
localStorage
, and render the same game, rather than creating a new one every time (until the player presses the restart button). - Add sound effects.
Additional Resources
after a long 2 days, 2 restarts and help from fellow classmates, we did it. Definitely could use more practice this week with react syntax and axios.