Skip to content

About

Meu primeiro jogo feito com javascript

Resources

Stars

0 stars

Watchers

1 watching

Forks

Repository files navigation

PrimeiroJogoJS 🎮🏃‍♀️

Vitest Tests License: MIT

PrimeiroJogoJS é um jogo de corrida infinita 2D (Infinite Runner) desenvolvido com p5.js e JavaScript moderno (ES6+), combinando a precisão das mecânicas clássicas do Chrome Dino (chrome://dino) com mecânicas exclusivas de ação e plataforma.


🌐 Idiomas / Languages / Idiomas


🇧🇷 Português

✨ Principais Recursos & Mecânicas

  1. Mecânicas Inspiradas no Chrome Dino:

    • Aceleração Progressiva: A velocidade aumenta dinamicamente conforme a pontuação sobe, mantendo intervalos de segurança (gaps) calculados dinamicamente para que os obstáculos sejam sempre justos e desafiadores.
    • Abaixar (Crouch): Pressionar ↓ ou S no chão reduz a altura da caixa de colisão (hitbox) pela metade e agacha o sprite para desviar de inimigos aéreos médios.
    • Queda Rápida (Fast-Fall): Pressionar ↓ ou S durante o pulo aumenta a velocidade de descida para aterrisagens rápidas.
    • Obstáculos em Múltiplas Alturas: Inimigos terrestres (pular) e voadores em três níveis estratégicos (baixo: pular; médio: abaixar; alto: correr por baixo).
    • Ciclo Dia / Noite: Transição de iluminação atmosférica a cada 500 pontos.
    • Início e Reinício Rápidos: Inicie ou reinicie imediatamente pressionando Espaço ou Enter.
  2. Mecânicas Exclusivas do PrimeiroJogoJS:

    • Sistema de Vidas (Corações): 5 vidas com período de invencibilidade temporária e animação piscante ao receber dano.
    • Movimentação Lateral Livre: Mova-se para frente e para trás (←/→/A/D) para controlar o tempo de reação e posicionamento.
    • Pulo Duplo: Capacidade de realizar até dois pulos no ar.

🎮 Controles

  • Pular / Pulo Duplo: Espaço / ↑ / W
  • Abaixar (no chão) / Queda Rápida (no ar): ↓ / S
  • Mover para Trás: ← / A
  • Mover para Frente: → / D
  • Iniciar / Reiniciar: Espaço / Enter

🚀 Executando o Jogo Localmente

# Servidor local via Python:
python -m http.server 8000

# Ou via Node.js:
npx serve .

Acesse: http://localhost:8000

🧪 Executando os Testes Automatizados (TDD)

npm test
# ou: npx vitest run

🇺🇸 English

✨ Features & Mechanics

  1. Chrome Dino Inspired Mechanics:

    • Progressive Acceleration: Game speed increases seamlessly with score, scaling obstacle gap distances dynamically.
    • Ducking / Crouch: Pressing ↓ or S while grounded halves hitbox height to dodge mid-altitude flying enemies.
    • Fast-Fall: Pressing ↓ or S in mid-air quickly accelerates downward velocity for fast landing.
    • Multi-Height Obstacles: Ground hazards plus flying enemies at 3 distinct heights (low: jump; mid: duck; high: run underneath).
    • Day / Night Cycle: Atmospheric night mode tinting every 500 points.
    • Instant Start & Restart: Press Space or Enter to start or restart instantly without page reload.
  2. Unique PrimeiroJogoJS Features:

    • Heart Health System: 5 hearts with damage cooldown and invincibility blink effect.
    • Bidirectional Horizontal Movement: Move left and right freely (←/→/A/D) for strategic positioning.
    • Double Jump: Jump up to twice in succession.

🎮 Controls

  • Jump / Double Jump: Space / ↑ / W
  • Crouch (ground) / Fast-Fall (air): ↓ / S
  • Move Left (Backwards): ← / A
  • Move Right (Forwards): → / D
  • Start / Restart: Space / Enter

🇪🇸 Español

✨ Características y Mecánicas

  1. Mecánicas Inspiradas en Chrome Dino:

    • Aceleración Progresiva: La velocidad aumenta con la puntuación, calculando distancias de espacio seguras.
    • Agacharse (Crouch): Presionar ↓ o S en el suelo reduce la hitbox para esquivar enemigos voladores medios.
    • Caída Rápida (Fast-Fall): Presionar ↓ o S en el aire aumenta la gravedad para aterrizar rápidamente.
    • Obstáculos de Múltiples Alturas: Obstáculos terrestres y voladores en 3 alturas estratégicas.
    • Ciclo Día / Noche: Transición atmosférica nocturna cada 500 puntos.
    • Inicio y Reinicio Instantáneo: Presiona Espacio o Enter para jugar de nuevo inmediatamente.
  2. Mecánicas Exclusivas de PrimeiroJogoJS:

    • Sistema de Vida (Corazones): 5 corazones con invencibilidad temporal tras recibir daño.
    • Movimiento Lateral Libre: Desplázate hacia adelante y hacia atrás (←/→/A/D).
    • Doble Salto: Posibilidad de realizar dos saltos consecutivos.

👤 Autor

  • Desenvolvedor / Developer: Mailson Maia Alves
  • GitHub: @mailsonm

About

Meu primeiro jogo feito com javascript

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages