O jogo tem que ser feito com alocação dinâmica e os mapas dos jogadores tem que estar em arquivos externos porem a interface do usuário (saída) será um arquivo no formato html, o usuário irá entrar com os comandos em um terminal e observar o resultado no navegador.
Como posso fazer isso?
#include<stdio.h>#include<stdlib.h>int**jogar(char**pc,char**mj1,int linha,int coluna){int i, j;int cont1=0, cont2=0;// variaveis int conts=0, contp=0, contn=0, contc=0;FILE*arq,*arq1,*arq2;char tabuleiro_visto[linha][coluna];
arq1 = fopen("Jogador.txt","r");// abre o arquivo que contém o mapa do usuario
arq = fopen("Computador.txt","r");// abre o arquivo que contém o mapa do computadorfor(i =0; i < linha; i++){for(j =0; j < coluna; j++){// percore a matriz e lê os dados do arquivo do computador
fscanf(arq1," %c ",&pc[i][j]);}}for(i =0; i < linha; i++){for(j =0; j < coluna; j++){// percore a matriz e lê os dados do arquivo do usuario
fscanf(arq," %c ",&mj1[i][j]);}}do{// inicia o ciclo de jogo
printf(" Mapa do Computador \n\n");for(i =0; i < linha; i++){for(j =0; j < coluna; j++){// imprime na tela o mapa do computador
printf(" %c ",mj1[i][j]);}
printf("\n\n");}
printf("\nLINHA QUE DESEJA ATACAR(0-9): ");
scanf("\n%d",&i);// pede para o usuario qual cordenada ele vai ataca
printf("\nCOLUNA QUE DESEJA ATACAR(0-9): ");
scanf("\n%d",&j);if(mj1[i][j]=='o'){
printf("\nERROUUUU!!\n\n");
mj1[i][j]='~';// faz as verificações dos tiros}elseif(mj1[i][j]=='x'|| mj1[i][j]=='~'){
printf("\n\nVOCE já ATACOU NESSA POSICAO!!\n");}elseif(mj1[i][j]=='s'|| mj1[i][j]=='c'|| mj1[i][j]=='p'|| mj1[i][j]=='n'){
printf("\n\nACERTOUUU!!\n\n");
mj1[i][j]='x';
cont1++;}
printf(" Mapa do Computador \n\n");for(i =0; i < linha; i++){for(j =0; j < coluna; j++){// imprime o mapa com as modificações
printf(" %c ",mj1[i][j]);}
printf("\n\n");}
printf("\nHORA DO SEU INIMIGO ATACAR!\n");// vez do computador
printf(" Mapa do Jogador \n\n");for(i =0; i < linha; i++){for(j =0; j < coluna; j++){// imprime na tela o mapa do usuario
printf(" %c ",pc[i][j]);}
printf("\n\n");}
i=rand()%9;// gera um numero randomico para a valor da linha de ataque
printf("\nLINHA QUE DESEJA ATACAR(0-9): %d\n", i);
j=rand()%9;// gera um numero randomico para o valor da coluna de ataque
printf("\nCOLUNA QUE DESEJA ATACAR(0-9): %d\n", j);if(pc[i][j]=='o'){
printf("\nERROUUUU!!\n\n");
pc[i][j]='~';// faz as verificaçõe de tiro}elseif(pc[i][j]=='x'|| pc[i][j]=='~'){
printf("\n VOCE já ATACOU NESSA POSICAO!\n\n");}elseif(pc[i][j]=='s'|| pc[i][j]=='c'|| pc[i][j]=='p'|| pc[i][j]=='n'){
printf("\nACERTOUUUUU!!\n\n");
pc[i][j]='x';
cont2++;}
printf(" Mapa do Jogador \n\n");for(i =0; i < linha; i++){for(j =0; j < coluna; j++){// imprime o mapa com as modificações
printf(" %c ", pc[i][j]);}
printf("\n\n");}}while(cont1 !=14|| cont2 !=14);// fim do ciclo de jogoif(cont1 > cont2){
printf("\nVOCE GANHOU :) !!");}// verifica quem foi o vencedorelse{
printf("\nVOCE PERDEU :( !!");}return0;}int main(){int i;int linha=10, coluna=10;char**pc =(char**)malloc(linha*sizeof(char*));// aloca o mapa do computadofor(i=0;i<linha;i++){
pc[i]=(char*)malloc(coluna*sizeof(char));}char**mj1=(char**)malloc(linha*sizeof(char*));// aloca o mapa do usuario for(i=0;i<linha;i++){
mj1[i]=(char*)malloc(coluna*sizeof(char));}
jogar(pc, mj1, linha, coluna);// chama a função que inicia o jogoreturn0;}
Pergunta
Jaguar's Den
O jogo tem que ser feito com alocação dinâmica e os mapas dos jogadores tem que estar em arquivos externos porem a interface do usuário (saída) será um arquivo no formato html, o usuário irá entrar com os comandos em um terminal e observar o resultado no navegador.
Como posso fazer isso?
Editado por Jaguar's DenLink para o comentário
Compartilhar em outros sites
0 respostass 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.