sou novato no fórum e essa é minha primeira visita, também sou meio novo na programação em C,
então caso esteja cometendo algum equivoco desde já peço que entendão :P
bom... eu estou construindo um jogo, mais especificamente um pacMan, e o mapa desse jogo
é uma matriz pré desenhada, porém ele é estática:
char mapaFundo[29] [22] ={//mapa do pacMan
{k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k},
{k,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k},
{k,x,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,x,k},
{k,x,y,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,y,x,k},
{k,x,w,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,w,x,k},
{k,x,y,x,x,x,y,x,x,y,x,x,y,x,x,y,x,x,x,y,x,k},
{k,x,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,x,k},
{k,x,y,x,x,x,y,x,y,x,x,x,x,y,x,y,x,x,x,y,x,k},
{k,x,y,x,x,x,y,x,y,x,x,x,x,y,x,y,x,x,x,y,x,k},
{k,x,y,x,x,x,y,x,y,y,x,x,y,y,x,y,x,x,x,y,x,k},
{k,x,w,y,y,y,y,x,x,v,x,x,v,x,x,y,y,y,y,w,x,k},
{k,x,x,x,x,x,y,x,x,v,x,x,v,x,x,y,x,x,x,x,x,k},
{k,k,k,k,k,x,y,x,v,v,v,v,v,v,x,y,x,k,k,k,k,k},
{k,x,x,x,x,x,y,x,v,x,z,z,x,v,x,y,x,x,x,x,x,k},
{tA,t,t,v,v,v,v,v,v,x,v,v,x,v,v,v,v,v,v,r,r,tB},
{k,x,x,x,x,x,y,x,v,x,x,x,x,v,x,y,x,x,x,x,x,k},
{k,k,k,k,k,x,y,x,v,v,v,v,v,v,x,y,x,k,k,k,k,k},
{k,x,x,x,x,x,y,x,v,x,x,x,x,v,x,y,x,x,x,x,x,k},
{k,x,y,y,y,y,y,y,y,y,x,x,y,y,y,y,y,y,y,y,x,k},
{k,x,y,x,x,y,x,x,x,y,x,x,y,x,x,x,y,x,x,y,x,k},
{k,x,w,y,x,y,x,x,x,y,y,y,y,x,x,x,y,x,y,w,x,k},
{k,x,x,y,x,y,y,y,y,y,x,x,y,y,y,y,y,x,y,x,x,k},
{k,x,x,y,x,y,x,x,y,x,x,x,x,y,x,x,y,x,y,x,x,k},
{k,x,y,y,y,y,x,x,y,y,x,x,y,y,x,x,y,y,y,y,x,k},
{k,x,y,x,x,x,x,x,x,y,x,x,y,x,x,x,x,x,x,y,x,k},
{k,x,y,x,x,x,x,x,x,y,x,x,y,x,x,x,x,x,x,y,x,k},
{k,x,w,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,w,x,k},
{k,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,x,k},
{k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k},
};
while(controle != 'e' ){//Enquanto o usuário não digita 'E' ele continua no laço do jogo
if(kbhit())
controle = getch();
system("cls");
for (i=0; i<29; i++){//Escreve as linhas e faz PacMan andar na vertical
printf(" ");
for(j=0; j<22; j++){//Escreve as colunas e faz PacMan andar na horizontal
if (pacX == i && pacY == j){
if(hadukenModeON){//quando especial ativado...
timerMaldito(1);//timer recebe 1 em cada interação
if(interacoesPoder == 100){//se o timer == 100
hadukenModeON = false; //fim de poder especial
}
}
if(!flag){
printf("C");//primeira forma do pacMan
flag = true;
}else{
printf("<");//segunda forma do pacMan
flag = false;
}
}else if(fantAX == i && fantAY == j){
if(!hadukenModeON){//caso especial desativado
printf("W");//primeira forma do FantasmaA
}else{//caso especial ativado modifica for fantasma A
if(!flag2){//primeira forma do fantasma
printf("W");
flag2 = true;
}else{//segunda forma do fantasma
printf("T");
flag2 = false;
}
}
}else if(fantBX == i && fantBY == j){
if(!hadukenModeON){//caso especial desativado
printf("W");//primeira forma do FantasmaB
}else{//caso especial ativado modifica for fantasma B
if(!flag3){//primeira forma do fantasma
printf("W");
flag3 = true;
}else{//segunda forma do fantasma
printf("T");
flag3 = false;
}
}
}else{
printf("%c", mapaFundo[i][j]);
}
}
printf("\n");
}
bom eu sei que talvez não faça muito sentido eu aloca-la dinamicamente, sendo que o numero de linhas
e colunas da matriz sempre serão fixos neste caso, porém mesmo assim preciso fazê-lo. Bom eu sinceramente
não estendo quase nada de alocação e ponteiros e se fosse possível me responder explicadinho eu agradeço...
Pergunta
giovaniChequim
Bom dia galera,
sou novato no fórum e essa é minha primeira visita, também sou meio novo na programação em C,
então caso esteja cometendo algum equivoco desde já peço que entendão :P
bom... eu estou construindo um jogo, mais especificamente um pacMan, e o mapa desse jogo
é uma matriz pré desenhada, porém ele é estática:
bom eu sei que talvez não faça muito sentido eu aloca-la dinamicamente, sendo que o numero de linhas
e colunas da matriz sempre serão fixos neste caso, porém mesmo assim preciso fazê-lo. Bom eu sinceramente
não estendo quase nada de alocação e ponteiros e se fosse possível me responder explicadinho eu agradeço...
abrass
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.