# Construa um jogo espacial

Um jogo espacial para ensinar fundamentos JavaScript mais avançados

Nesta lição, você aprenderá a construir seu próprio jogo espacial. Se você já jogou o jogo "Space Invaders", este jogo tem a mesma ideia: pilotar uma nave espacial e atirar em monstros que descem de cima. Veja como ficará o jogo finalizado:

![Finished game](../images/pewpew.gif)

Nestas seis lições, você aprenderá o seguinte:

- **Interaja** com o elemento Canvas para desenhar coisas em uma tela
- **Entenda** o sistema de coordenadas cartesianas
- **Aprenda** o padrão Pub-Sub para criar uma arquitetura de jogo de som mais fácil de manter e estender
- **Utilize** Async/Await para carregar recursos do jogo
- **Trate** eventos de teclado

## Visão Geral

- Teoria
  - [Introdução à criação de jogos com JavaScript](../1-introduction/translations/README.pt-BR.md)
- Prática
  - [Desenhando no Canvas](../2-drawing-to-canvas/translations/README.pt-BR.md)
  - [Movendo elementos pela tela](../3-moving-elements-around/README.pt-BR.md)
  - [Detecção de colisão](../4-collision-detection/README.pt-BR.md)
  - [Mantendo a pontuação](../5-keeping-score/assignment.md/README.pt-BR.md)
  - [Terminando e reiniciando o jogo](../6-end-condition/README.pt-BR.md)

## Créditos

Os assets utilizados para isso vieram de https://www.kenney.nl/.
Se você gosta de construir jogos, esses são alguns assets muito bons, muitos são gratuitos e alguns são pagos.
