Workshop › Hangman › Step 31 of 36

Where each key goes

What we are doing

A phone opens no keyboard for a canvas, so the game will draw its own: 26 keys in rows of 9. First, keyRect(i) works out where key number i goes.

```js
const KEY_W = 48
const KEY_H = 34
const KEYS_Y = 360

function keyRect(i) {
  const row = Math.floor(i / 9)
  return { x: 8 + (i % 9) * (KEY_W + 4), y: KEYS_Y + row * (KEY_H + 6) }
}
```

What it means

Your turn

  1. Under const MAX_WRONG = 6 write the three key sizes.
  2. Above canvas.addEventListener('pointerdown', ...), write keyRect and leave an empty line. Press Run.

Skills: Drawing on a canvas

All steps

  1. A list of secret words
  2. The canvas and the pen
  3. Paint the paper
  4. A function that draws
  5. Pick a random word
  6. Write the word
  7. Hide it behind blanks
  8. Remember the guesses
  9. Draw again and again
  10. A guess
  11. Guess with the keyboard
  12. Only letters count
  13. Count the misses
  14. The same letter twice is free
  15. Six misses at most
  16. Show the misses
  17. List the wrong letters
  18. Draw a line
  19. The gallows
  20. The first miss: a head
  21. Body, arms and legs
  22. The parts in a list
  23. Losing
  24. Winning
  25. Show the word you missed
  26. The end message
  27. Play again
  28. Never the same word twice
  29. A winning streak
  30. Remember the best streak
  31. Where each key goes
  32. Draw the keys
  33. Center the last row
  34. Keys that remember
  35. Tap a key
  36. Build it yourself: a hint button