Ir ao conteúdo
  • Cadastre-se

Felipe Hoffmeister

Membro Pleno
  • Posts

    53
  • Cadastrado em

  • Última visita

Tudo que Felipe Hoffmeister postou

  1. entendi sua forma, porém eu nao posso fazer assim pois tenho que continuar o programa que a professora mandou, seria uma forma dela garantir que nao foi pego da internet . eu recebi o programa assim dela: #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include<windows.h> #include<conio.h> #define L 10 #define C 20 int main() { ///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, A SEGUIR. //INICIO: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cursorInfo; GetConsoleCursorInfo(out, &cursorInfo); cursorInfo.bVisible = false; // set the cursor visibility SetConsoleCursorInfo(out, &cursorInfo); //FIM: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA //INÍCIO: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA short int CX=0, CY=0; COORD coord; coord.X = CX; coord.Y = CY; //FIM: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA ///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, ACIMA. //Posição inicial do personagem no console int x=3, y=3; //Variável para recla precionada char tecla; //Coordenadas para impressão na tela int i,j; while(1){ ///Imprime o jogo: mapa e personagem. i=0; while (i<L) { j=0; while (j<C) { if (x==i && y==j){ printf("*"); } else if (i==0 || i==L-1 || j==0 || j==C-1){ printf("°"); } else { printf(" "); } j++; } printf("\n"); i++; } if ( _kbhit() ){ tecla = getch(); switch(tecla) { case 'w': ///cima x--; break; case 's': ///baixo x++; break; case 'a': ///esquerda y--; break; case 'd': ///direita y++; break; } } /** Recoloca o mapa no inicio da tela, isso faz com que o jogo seja escrito sempre no mesmo lugar. */ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } return 0; }
  2. eu gostaria porém a professora mandou usar o codigo da forma que veio, · O personagem deve ser capaz de se movimentar em todas as direções. · O personagem deve poder empurrar uma caixa e movimentá-la pelo cenário em todas as direções. · O personagem e a caixa não podem sair do mapa. · ( Quando a caixa for colocada no local designado no mapa o jogo deve terminar.) · Quando o jogo terminar, deve ser exibida uma mensagem de “Vitória” na tela. · Não é permitido utilizar variáveis globais.
  3. Eu tenho uma duvida de como posso finalizar meu programa quando o # do meu jogo estiver em cima do X se alguem pode me ajudar?? #include <stdio.h> #include <stdlib.h> #include <stdbool.h> #include<windows.h> #include<conio.h> #define L 10 #define C 20 int main() { ///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, A SEGUIR. //INICIO: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_CURSOR_INFO cursorInfo; GetConsoleCursorInfo(out, &cursorInfo); cursorInfo.bVisible = false; // set the cursor visibility SetConsoleCursorInfo(out, &cursorInfo); //FIM: COMANDOS PARA QUE O CURSOR NÃO FIQUE PISCANDO NA TELA //INÍCIO: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA short int CX=0, CY=0; COORD coord; coord.X = CX; coord.Y = CY; //FIM: COMANDOS PARA REPOSICIONAR O CURSOR NO INÍCIO DA TELA ///ALERTA: NÃO MODIFICAR O TRECHO DE CÓDIGO, ACIMA. //Posição inicial do personagem no console int x=5, y=3; // Posição inicial da caixa no console int n=2,m=2; // Posição inicial do final no console int v=8,b=18; //Variável para recla precionada char tecla; //Coordenadas para impressão na tela int i,j; while(1){ ///Imprime o jogo: mapa e personagem. i=0; while (i<L) { j=0; while (j<C) { if (x==i && y==j){ printf("$"); } else if (i==0 || i==L-1 || j==0 || j==C-1){ printf("°"); }else if(n==i&& m==j){ printf("#"); } else if(v==i&& b==j){ printf("X"); } else{ printf(" "); } j++; } printf("\n"); i++; } if ( _kbhit() ){ tecla = getch(); switch(tecla) { case 'w': ///cima x--; if (x==n && y==m) { n--; } break; case 's': ///baixo x++; if (x==n && y==m) { n++; } break; case 'a': ///esquerda y--; if (x==n && y==m) { m--; } break; case 'd': ///direita y++; if (x==n && y==m) { m++; } break; } } if (n==0 && x==1)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA CIMA { n++; x++; } if (n==9 && x==8)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA BAIXO { n--; x--; } if (m==19 && y==18)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA DIREITA { m--; y--; } if (m==0 && y==1)// NAO DEIXA O JOGADOR E A CAIXA SAIR PARA ESQUERDA { m++; y++; } if(x==0) // NAO DEIXA O JOGADOR SAIR PARA CIMA { x++; } if(x==9)// NAO DEIXA O JOGADOR SAIR PARA BAIXO { x--; } if(y==0)// NAO DEIXA O JOGADOR SAIR PARA ESQUERDA { y++; } if(y==19)// NAO DEIXA O JOGADOR SAIR PARA DIREITA { y--; } printf("X %d Y %d n %d m %d", x,y,n,m); if (n==8 && m==18) { printf("vitoria"); break; return 0; } /** Recoloca o mapa no inicio da tela, isso faz com que o jogo seja escrito sempre no mesmo lugar. */ SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord); } return 0; }

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!