Workshop › Connect Four › Step 19 of 38

Gravity

What we are doing

Gravity is two lines: every frame the speed grows a little, then the position changes by the speed. When the disc reaches the middle of its hole, it lands. update does this, and the loop calls it every frame.

```js
const GRAVITY = 1.2

function update() {
  if (falling) {
    falling.vy += GRAVITY
    falling.y += falling.vy
    const bottom = TOP + falling.row * CELL + CELL / 2
    if (falling.y >= bottom) {
      falling.y = bottom
      land()
    }
  }
}

  update()
```

What it means

Your turn

  1. Under TOP write GRAVITY.
  2. Above function disc( write update, followed by an empty line.
  3. In loop, above draw(), write update().

Skills: Velocity and gravity, 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