Você está na página 1de 12

L.A.B I.C.

C
RELATÓRIO

PACMAN
Nome : Gevy Gyldas N'Nang
Ndoutoume
Número usp :14523701
SUMÁRIO
01 OBJETIVO DO TRABALHO

02
APRESENTAÇÃO DA ESTRUTURA
DO CÓDIGO

03 CONCLUSÃO
OBJETIVO
O objetivo desse trabalho é implementar uma versão simplificada do
jogo Pac-Man em linguagem C. O Pac-Man é um jogo clássico de
arcade onde o jogador controla um personagem que deve percorrer
um labirinto, coletando itens e evitando o contato com fantasmas.

Nessa versão simplificada, o jogador é representado


pelo caractere "@" e os itens a serem coletados são
representados pelo caractere "^". O objetivo do jogo é
coletar todos os itens do labirinto sem colidir com os
fantasmas, representados pelo caractere "&".
O código implementa as funcionalidades básicas do jogo, como
movimentação do jogador, movimentação dos fantasmas, verificação de
colisões e atualização da tela. Ele também exibe instruções de controle para
o jogador e informa a quantidade de itens restantes a serem coletados.

O jogo continua em execução até que o jogador colete todos os itens


e vença o jogo, ou até que o jogador colida com um fantasma e perca
o jogo. O objetivo é oferecer uma experiência simplificada do jogo
Pac-Man, permitindo ao jogador se divertir controlando o personagem
principal e testando suas habilidades em um labirinto desafiador.
E por fim, o trabalho visa exercitar os conceitos de
programação em linguagem C, como estruturas de
dados, laços de repetição, condicionais e manipulação
de matrizes. Além disso, permite praticar a lógica de
programação ao implementar as regras do jogo e a
interação entre os elementos do labirinto.
ESTRUTURA DO CÓDIGO
1. BIBLIOTECAS:

O código inclui as seguintes bibliotecas:


- stdio.h: para funções de entrada/saída.
- stdlib.h: para a alocação dinâmica de memória.
- conio.h: para funções de manipulação do console.
2.DEFINIÇÕES E CONSTANTES
São definidas três constantes:
- SIZE_R: representa o número de linhas do
labirinto.
- SIZE_C: representa o número de colunas do
labirinto.
- ITEM_TOTAL: representa o número total de
itens no labirinto.
3. ESTRUTURA POSITION
A estrutura de dados position foi usada para representar
as posições dos personagens no labirinto, como o
jogador e os fantasmas. Essa estrutura consiste em duas
variáveis inteiras, row (linha) e column (coluna), que
armazenam as coordenadas do personagem no labirinto.
4. FUNÇÃO UPDATE_SCREEN():

Essa função é responsável por atualizar a tela do jogo. Ela recebe como
parâmetros o labirinto, o número de linhas e colunas, e a quantidade de itens
restantes a serem coletados.
A função imprime o labirinto na tela, junto com instruções de controle para o
jogador.
5. FUNÇÃO UPDATE_SCREEN():
São implementadas quatro funções: ghost_add_col, ghost_min_col,
ghost_add_row e ghost_min_row. Cada uma dessas funções
controla o movimento de um fantasma no labirinto. Elas recebem
como parâmetros a posição do fantasma, flags de alteração, morte e
item, e o labirinto.

Essas funções verificam se o movimento do fantasma é possível


(considerando a presença de obstáculos, bordas do labirinto e
outros personagens) e atualizam a posição do fantasma no labirinto.
6.FUNÇÃO PRINCIPAL (MAIN):
A função main é o ponto de entrada do programa. Ela inicia o jogo e contém o loop
principal
Dentro do loop, são realizadas as seguintes ações:
- Exibir uma mensagem de boas-vindas e instruções do jogo.
- Inicializar variáveis de controle.
- Definir o labirinto.
- Ler a entrada do jogador.
- Atualizar a tela do jogo.
- Verificar colisões e condições de vitória/derrota.
- Lidar com eventos de entrada do jogador, como movimentação do Pac-Man.
- Repetir o loop até que o jogador vença ou perca.
CONCLUSÃO
Em resumo, o código implementa um jogo simples de labirinto chamado Pacman. O jogador
controla um personagem representado pelo caractere "@" e precisa coletar todos os itens
representados pelo caractere "^" no labirinto enquanto evita os fantasmas representados pelo
caractere "&". O jogo é apresentado em uma interface de texto e utiliza as teclas "w", "s", "a" e "d"
para mover o jogador para cima, baixo, esquerda e direita, respectivamente.

O código utiliza estruturas de dados como matrizes e estruturas para representar o labirinto e as
posições dos personagens. Também inclui lógica de movimentação dos fantasmas, detecção de
colisões, contagem de itens coletados e condições de vitória ou derrota.

Embora seja um jogo bastante simples, o código pode ser um ponto de partida para projetos mais
complexos, permitindo a adição de recursos adicionais, como níveis diferentes, power-ups,
inteligência artificial para os fantasmas e gráficos mais elaborados.

Você também pode gostar