Ir ao conteúdo
  • Cadastre-se

C PacMan em C | por onde começar o código??


AndrezaWF

Posts recomendados

Oi

Preciso desenvolver  o PacMan em C. No entanto, estou com muitas dúvidas e  não sei exatamente por onde começar o código...

 

Além disso, uma das especificações do trabalho é que o labirinto deverá ser carregado através de um arquivo texto, chamado 'labirinto.txt',

que informa a posição inicial do PacMan, dos fantasmas, das pastilhas, das super-pastilhas, e a disposição das paredes;

 

Só que eu não sei em que instante esse arquivo .txt entra no código.

Devo usar uma função que 'chama' esse arquivo .txt para ser lido????

 

Grata pela ajuda.

 

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

@AndrezaWF     você tem a biblioteca allegro instalada?  ou você vai fazer usando apenas os comandos do c ?  

   e esse arquivo txt pode ser aberto e lido com os comandos :

FILE*arq;
char palavra[30];
arq=fopen("nome_do_arquivo","r");
while(fscanf(arq,"%s",palavra)){
    aqui dentro você coloca os comandos
    para fazer o que você quiser com esses
    dados lidos do arquivo. por exemplo você
    pode imprimir ele na tela, se você desenhar
    o labirinto no bloco de notas usando o caractere 
    asterisco.  lembrando que a tela do c tem 80 colunas
    e 24 linhas, para imprimir na tela do jeito certo.
}
fclose(arq);

no caso esse arquivo tem que estar salvo na mesma pasta onde você salvou o programa e com o mesmo nome ali onde está nome_do_arquivo .

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Da uma estudada no tutorial de pacman do deividcoptero, ele usou Allegro mas não ser muito difícil converter para console depois que você entender a lógica por trás do jogo.

 

Por exemplo a função que desenha o mapa você pode usar tabela ascii para fazer as paredes etc etc.

 

#include <stdio.h>

#define LINHA 20
#define COLUNA 31

void desenha_mapa();

int mapa[LINHA][COLUNA] =
{
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
    {1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,1,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,1,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,1,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,0,0,0,0,1},
    {1,0,1,1,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,1,1,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,0,1},
    {1,0,1,1,1,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,1,0,1},
    {1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1},
    {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
};

int main()
{
    desenha_mapa();
    return 0;
}

void desenha_mapa()
{
    int l,c;
    for(l=0;l<LINHA;l++)
    {
        for(c=0;c<COLUNA;c++)
        {
            switch(mapa[l][c])
            {
                case 0: printf(" "); break;
                case 1: printf("%c", 219); break;
            }
        }
        printf("\n");
    }
}

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Uma dica é fazer passo a passo. por exemplo:

 

-Carregar e desenhar o mapa

-Desenhar e movimentar o player

-Verificar colisao com o mapa

-gerar frutinhas

-verificar colisao entre player-frutinhas

-verificar vitoria quando as frutas no mapa acabarem. 

-Gerar os fantasmas com movimentacao aleatoria (quando o fantasma bate na parede a proxima direcao é aleatoria) 

-Verificar game over com colisao entre fantasma-player

-fazer aquelas pastilhas que deixam os fantasmas comestiveis. 

-verificar colisao entre player-fantasma comestivel

 

é só uma ideia isso.

  • Curtir 3
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...