Workshop › Connect Four › Step 9 of 38

Draw every frame

What we are doing

draw() runs only once, so a change to the board would never show. A game loop draws again about 60 times a second: requestAnimationFrame(loop) asks the browser to run loop before the next screen refresh, and loop asks again.

```js
function loop() {
  draw()
  requestAnimationFrame(loop)
}

reset()
requestAnimationFrame(loop)
```

What it means

Your turn

  1. Above reset() at the bottom write loop, followed by an empty line.
  2. Replace the last line, draw(), with requestAnimationFrame(loop).

Skills: The game loop

All steps

  1. A dark background
  2. A drawing function
  3. The blue board
  4. One hole
  5. A whole row
  6. All 42 holes
  7. The board in memory
  8. Discs in their colors
  9. Draw every frame
  10. Where does the disc land?
  11. Play a column
  12. Taking turns
  13. Click to play
  14. The next disc
  15. Whose turn?
  16. Playing with the keyboard
  17. Keys 1 to 7
  18. A disc on its way
  19. Gravity
  20. Watch it fall
  21. Inside the board?
  22. Walking along a line
  23. Four in a row?
  24. We have a winner
  25. Circle the four
  26. Who won?
  27. A draw
  28. Play again
  29. Try a move and take it back
  30. Win, or block
  31. Don't help the player
  32. Prefer the middle
  33. The computer's turn
  34. Only on your turn
  35. You and the computer
  36. Counting wins
  37. Show the score
  38. Build it yourself: the loser starts