Workshop › Battleship › Step 7 of 35

Two fleets

What we are doing

The game has two fleets: the enemy's and yours. reset() places both at random, and it runs once at the start.

```js
let enemyFleet // ships: { cells: [[r, c], ...] }
let myFleet

function reset() {
  enemyFleet = placeFleet()
  myFleet = placeFleet()
}

reset()
```

What it means

Your turn

  1. Above const grid, write the two let lines, followed by an empty line.
  2. Above function drawSea(, write reset, followed by an empty line.
  3. Write reset() just above the last requestAnimationFrame(loop).

Skills: Game states

All steps

  1. A 10 by 10 sea
  2. A function for any sea
  3. Your own sea
  4. Draw again and again
  5. Grids and ships as lists
  6. A random fleet
  7. Two fleets
  8. Which ship is here?
  9. Fire at a square
  10. Show the shots
  11. Your shot
  12. Tap to fire
  13. A message line
  14. Hit or miss?
  15. See your own fleet
  16. Sinking ships
  17. Darker hits on a sunk ship
  18. Outline sunk ships
  19. Win in as few shots as you can
  20. A record of their shots
  21. Take turns
  22. The computer shoots back
  23. You can lose too
  24. A heat map
  25. Shoot the hottest square
  26. Hunt around a hit
  27. See the heat map
  28. H for heat
  29. Show their ships at the end
  30. A keyboard cursor
  31. Move with the arrows
  32. Fire with Enter, play again
  33. Your best game
  34. A side panel
  35. Build it yourself: ships apart