Skip to content

O projeto em questão tem fogo no aperfeiçoamento da lógica de programação, utilizando um exemplo divertido e pratico, o tão conhecido, jogo da "cobrinha".

License

Notifications You must be signed in to change notification settings

sameckmatheus/SnakeGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Jogo Snake em JavaScript

O código representa a implementação de um jogo Snake em JavaScript. O jogo foi desenvolvido utilizando a estrutura de funções anônimas autoinvocadas e tem como objetivo criar uma interface gráfica onde o jogador controla uma cobra que deve comer frutas para crescer e acumular pontos.

Conceitos e Elementos Utilizados

1. Funções Anônimas Autoinvocadas

O código utiliza uma função anônima autoinvocada para encapsular todo o jogo em um escopo isolado. Essa técnica é comumente utilizada para evitar a poluição do escopo global e garantir que as variáveis e funções do jogo não entrem em conflito com outras bibliotecas ou códigos JavaScript.

2. Canvas e Contexto de Desenho

O jogo faz uso da funcionalidade de desenho do HTML5 através do elemento <canvas>. Através do getContext('2d'), é obtido o contexto de desenho no qual são realizados os desenhos das entidades do jogo, como a cobra, a fruta e o cenário.

3. Eventos do Teclado

Para permitir a interação do jogador com o jogo, são utilizados eventos de teclado para capturar as teclas pressionadas pelo usuário. As teclas das setas direcionais são utilizadas para controlar o movimento da cobra (esquerda, direita, cima e baixo).

4. Loop de Jogo

O jogo implementa um loop de jogo utilizando setInterval(), que é uma função JavaScript que executa um trecho de código repetidamente em intervalos regulares de tempo. Isso permite que a cobra se mova e interaja com o cenário em tempo real.

5. Manipulação do Cenário

O tamanho do cenário é definido por uma grade, e a cobra se move de célula em célula. O tamanho da grade é controlado pela variável tileCount, que pode ser ajustada para tornar o jogo mais fácil ou mais difícil.

6. Pontuação e Recompensas

O jogador ganha pontos ao comer a fruta, e a pontuação máxima é armazenada para que o jogador possa acompanhar seu recorde. Além disso, o jogador é recompensado com pontos por cada movimento bem-sucedido, enquanto recebe uma penalidade por colidir com a parede ou com o próprio corpo da cobra.

7. Configurações do Jogo

O jogo oferece algumas configurações que podem ser ajustadas para personalizar a experiência de jogo. É possível controlar se a cobra pode atravessar as paredes (walls), ajustar o tamanho da grade (tileCount) e ativar ou desativar o crescimento da cauda (fixedTail) ao comer a fruta.

Como Jogar

  1. O jogo começa automaticamente após o carregamento da página.
  2. Use as setas direcionais do teclado (cima, baixo, esquerda e direita) para mover a cobra.
  3. Tente comer a fruta para crescer e ganhar pontos.
  4. Evite colidir com a parede ou com o corpo da cobra para não reiniciar o jogo.
  5. Pressione a tecla "Espaço" para pausar o jogo.
  6. Pressione a tecla "Esc" para reiniciar o jogo.

Configurações Disponíveis

  • Snake.setup.keyboard(true): Habilita o controle da cobra pelo teclado.
  • Snake.setup.fixedTail(false): Permite que a cauda cresça ao comer a fruta.
  • Snake.setup.wall(false): Permite que a cobra atravesse as paredes.
  • Snake.setup.tileCount(size): Ajusta o tamanho da grade (número de células na horizontal e vertical).

Como Contribuir

Contribuições são bem-vindas! Sinta-se à vontade para enviar sugestões, correções de bugs ou melhorias através de "issues" ou "pull requests".

Licença

Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para mais detalhes.

About

O projeto em questão tem fogo no aperfeiçoamento da lógica de programação, utilizando um exemplo divertido e pratico, o tão conhecido, jogo da "cobrinha".

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published