Catalog · How the catalog works
PacMan_FMX
Clássico game PacMan feito totalmente em Delphi FMX Nativo
- ★ 17 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
Pac-Man FMX (Delphi)
Esta é uma implementação do jogo Pac-Man desenvolvida usando o framework FireMonkey (FMX) do Delphi.

Índice
- Recursos
- Tecnologias Utilizadas
- Pré-requisitos
- Configuração e Instalação
- Como Jogar
- Controles do Jogo
- Estrutura do Código
- Problemas Conhecidos
- Melhorias Futuras
- Créditos
- Contato
Recursos
- Recriação fiel da jogabilidade clássica do Pac-Man.
- Animações suaves.
- IA básica dos fantasmas com comportamento de perseguição e fuga.
- Contagem de pontos.
- Sistema de vidas.
- Efeito de túnel (travessia da tela).
- Power pills e modo inofensivo.
- Tela de Game Over.
Tecnologias Utilizadas
- Delphi: A linguagem de programação principal.
- FireMonkey (FMX): O framework UI cross-platform do Delphi para construir aplicativos que rodam em vários sistemas operacionais (embora este projeto possa ser focado em desktop).
- Gráficos 2D: O canvas do FMX para renderizar os elementos do jogo.
Pré-requisitos
Para compilar e executar este jogo, você precisará de:
- IDE Delphi: Embarcadero Delphi (versão Rio ou posterior recomendada).
Configuração e Instalação
- Clone o repositório para sua máquina local:
git clone https://github.com/danilodsf/PacMan_FMX.git - Abra o arquivo de projeto
PacManFMX.dprojna IDE do Delphi. - Certifique-se de que todos os arquivos de imagem necessários estejam nos caminhos relativos corretos (geralmente em um diretório
img/dentro do projeto). - Compile e execute o projeto dentro da IDE do Delphi.
Como Jogar
O objetivo do jogo é controlar o Pac-Man e comer todos os pontos no labirinto enquanto evita os fantasmas. Comer uma power pill (os pontos maiores) permitirá que o Pac-Man coma os fantasmas por um curto período de tempo.
Controles do Jogo
- Movimento:
WouSeta para Cima: Mover para CimaAouSeta para a Esquerda: Mover para a EsquerdaSouSeta para Baixo: Mover para BaixoDouSeta para a Direita: Mover para a Direita
- Reiniciar o Jogo:
R: Reiniciar o jogo
- Sair:
ESC: Sair do jogo
Estrutura do Código
O projeto está principalmente contido no arquivo uGame.pas. Os principais procedimentos e funções incluem:
TPacManForm: A classe do formulário principal.FormCreate: Inicializa as variáveis do jogo, carrega as imagens e configura o jogo.FormDestroy: Libera os recursos alocados (bitmaps, fonte).PaintBoxPaint: Lida com a lógica de renderização do jogo.TimerTimer: O evento do timer do jogo, que aciona oPaintBoxPaintpara atualizar a exibição.MovePlayer: Processa a entrada do jogador para alterar a direção do Pac-Man.DrawBoard: Desenha o labirinto, os pontos e as power pills.DrawPlayer: Desenha e anima o Pac-Man.DrawGhost: Desenha os fantasmas.GhostAI: Implementa a lógica de comportamento dos fantasmas.Collider: Lida com a detecção de colisão com as paredes.TurningCorner: Gerencia as curvas do Pac-Man nos cantos.PacmanTunnel: Cria o efeito de túnel.GhostAndPacmanCollision: Detecta colisões entre o Pac-Man e os fantasmas.
Problemas Conhecidos
- De vez em quando o PacMan fica preso antes das esquinas. Provavelmente o problema está relacionado com a velocidade em FSpeedFactor que faz com que a posição XY as vezes esteja fora das condições que permitem o player virar
- A IA dos fantasmas pode ser aprimorada
Melhorias Futuras
- Implementar efeitos sonoros
- Implementar as outras imagens disponíveis na pasta de imagens
- Implementar a animação do PacMan morrendo ao colidir
- Adicionar diferentes personalidades aos fantasmas
- Melhorar a interface do usuário do jogo, criando opções de configuração de velocidade, pausar, etc...
Créditos
- Inspiração: Leonardo Nunes Armelim, que desenvolveu este jogo em Python e os fontes me serviram como base para o desenvolvimento com o Delphi https://github.com/Leonardo-Nunes-Armelim/Bytes_Universe

