Aprenda a jogar Pac-Man e domine o labirinto!
Use as teclas de seta (↑, ↓, ←, →) para mover o Pac-Man pelo labirinto. Em dispositivos móveis, utilize os botões direcionais na tela.
Coma todos os pontos para completar o nível. Evite os fantasmas, ou você perderá uma vida. Coma frutas para ganhar pontos extras.
Coma as pílulas de poder (pontos maiores) para tornar os fantasmas vulneráveis. Enquanto estiverem azuis, você pode comê-los para ganhar mais pontos!
O fantasma vermelho. Persegue você diretamente e fica mais rápido conforme você come mais pontos.
O fantasma rosa. Tenta emboscar você se posicionando à sua frente.
O fantasma azul. Movimento imprevisível, usando Blinky como referência.
O fantasma laranja. Alterna entre perseguir você e vagar aleatoriamente.
Pellet (ponto pequeno) | 10 pontos | |
Power Pellet (ponto grande) | 50 pontos | |
Fantasma (azul) | 200-1600 pontos | |
Cereja | 100 pontos | |
Morango | 300 pontos | |
Laranja | 500 pontos |
Comer todos os pontos dá um bônus de 1000 pontos!
Um Pac-Man desenvolvido com HTML5 Canvas, JavaScript e CSS moderno
Este Pac-Man foi desenvolvido como parte do meu portfólio de desenvolvimento web, demonstrando habilidades em:
O jogo foi construído do zero, implementando a mecânica clássica do Pac-Man com toques modernos no design visual inspirado no meu portfólio profissional.
// Exemplo de implementação do movimento do Pac-Man
class Player {
constructor(x, y, radius, speed) {
this.x = x;
this.y = y;
this.radius = radius;
this.speed = speed;
this.direction = null;
this.nextDirection = null;
this.angle = 0;
this.mouthOpen = true;
this.mouthAngle = 0.2;
}
update(map) {
// Verificar se a próxima direção é válida
if (this.nextDirection !== null) {
if (this.canMove(this.nextDirection, map)) {
this.direction = this.nextDirection;
this.nextDirection = null;
}
}
// Mover na direção atual se possível
if (this.direction !== null && this.canMove(this.direction, map)) {
switch (this.direction) {
case "up": this.y -= this.speed; break;
case "down": this.y += this.speed; break;
case "left": this.x -= this.speed; break;
case "right": this.x += this.speed; break;
}
}
// Animação da boca
this.mouthAngle = this.mouthOpen ? 0.2 : 0.01;
this.mouthOpen = !this.mouthOpen;
}
}
Implementação de um sistema de ranking online para comparar pontuações com outros jogadores.
Criação de diferentes labirintos para aumentar a variedade e o desafio do jogo.
Versão nativa para dispositivos móveis utilizando frameworks como React Native.