Ir ao conteúdo

Damhafi

Membro Júnior
  • Posts

    5
  • Cadastrado em

  • Última visita

Reputação

3
  1. Rapaziada chegou meu Machenike g5 pro maxxxxxxxxxxxxxxxxxxxxxxxxx Essa ***** não ta funcionando a atualização do FIRMWARE pra usar o softwareO combo de teclas X, Y, Home não funcionaaaaaa alguém ja passou por isso ?
  2. Damhafi

    C Colisão do Car Racing

    @KXSY Atualmente ele cria uma matriz vazia, depois adiciono a pista na matriz que estava vazia, adiciono o meu carro, e faço um random pro carros inimigos cairem junto com a pista em movimento, e falta a parte de incrementar a colisão dos carros. Que quando meu carro se colidir com a traseira do carro que estiver descendo ele termine o jogo.
  3. Damhafi

    C Colisão do Car Racing

    @devair1010 Desculpe não informar isso, bom pra executar é preciso abri-lo no VsCode e atraves do comando ./compile, ele vai compilar os arquivos.c (gcc main.c display.c car.c -o programa -D DEBUG=1).
  4. Eae cara conseguiu resolver o problema ?
  5. #include "car.h" #include "display.h" int main(){ char matrix[ROWS][COLUMNS]; Bloco tijolo; int keypressed=0; int cont=0; int velocidade=2; //apagar o cursor da tela ShowConsoleCursor(0); system("cls"); //posicao inicial do personagem initBar(&tijolo); //inicializando matriz init(matrix); //animação do jogo while(keypressed != ESC){ gotoxy(0,0); #if DEBUG == 1 printf("posicao = (%d, %d)\n", tijolo.i, tijolo.j); printf("dimensao = (%d, %d)\n", tijolo.width, tijolo.height); #endif //posicionar o @ no meio da tela drawBar(matrix, tijolo, PIXEL); //mostro a matriz na tela printMatrix(matrix); //faça posição anterior do @ ser apagada drawBar(matrix, tijolo, EMPTY); //lendo teclas keypressed = 0; if(kbhit()) keypressed = getch(); if(keypressed==ARROWS) keypressed = getch(); switch(keypressed){ case (int)'a': case (int)'A': case LEFT: if((matrix, tijolo, CHECK_SIDE, LEFT)) tijolo.j--; //vai para esquerda break; case TECLA_d: case TECLA_D: case RIGHT: if((matrix, tijolo, CHECK_SIDE, RIGHT)) tijolo.j++; //vai para a direita break; } } system("pause"); return 0; } #include "car.h" /* Inicializa a matriz principal com 'espaços vazios' */ void init(char matrix[ROWS][COLUMNS]){ int i,j; for(i=0; i<ROWS; i++){ for(j=0; j<COLUMNS; j++){ matrix[i][j] = ' '; } } } /* Mostra o conteúdo da matriz principal na tela do computador. */ void printMatrix(char matrix[ROWS][COLUMNS]){ int i, j; printf("\t\t\t\t\t"); //Linha de cima for (i = 0; i < COLUMNS + 2; i++) { printf("*"); } printf("\n"); //Matriz do jogo for (i = 0; i < ROWS; i++) { printf("\t\t\t\t\t*"); //parte da esquerda if (i % 2 == 0) printf("%c", 178); else printf(" "); for (j = 0; j < COLUMNS; j++) { if (j > 1 & j < COLUMNS) printf("%c", matrix[i][j]); } //parte da direita if (i % 2 == 0) printf("%c", 178); else printf(" "); printf("*\n"); } printf("\t\t\t\t\t"); //Linha de baixo for (j = 0; j < COLUMNS + 2; j++) { printf("*"); } printf("\n"); } /* Desenhar uma barra usando o simbolo do caracter ASCII passado por parâmetro. */ void drawBar(char matrix[ROWS][COLUMNS], Bloco barra, int simbolo){ //Cabeça matrix[barra.i][barra.j] = simbolo; //Bracos matrix[barra.i+1][barra.j+1] = simbolo; matrix[barra.i+1][barra.j+2] = simbolo; matrix[barra.i+1][barra.j-2] = simbolo; matrix[barra.i+1][barra.j-1] = simbolo; //Tronco matrix[barra.i+1][barra.j] = simbolo; matrix[barra.i+2][barra.j] = simbolo; //Pernas matrix[barra.i+3][barra.j+1] = simbolo; matrix[barra.i+3][barra.j+2] = simbolo; matrix[barra.i+3][barra.j-2] = simbolo; matrix[barra.i+3][barra.j-1] = simbolo; } /* Inicializar a peça do tipo barra */ void initBar(Bloco *barra){ barra->i = 15; barra->j = COLUMNS/2; barra->tipo = TIPO_I; barra->orientacao = ORIENTACAO_LEFT; barra->width = 5; barra->height = 1; #if DEBUG == 1 printf("posI: %d posJ: %d \n", barra->i, barra->j); system("pause"); #endif } /* Verifica a colisão de blocos int collisionDetect(char matrix[ROWS][COLUMNS], Bloco barra){ }*/ /* Verifica a colisão de barras int collisionBar(char matrix[ROWS][COLUMNS], Bloco barra, int collideSides, int side){ }*/ #include <stdio.h> #include <stdlib.h> #include <conio.h> //Configuração das dimensões da matriz principal do jogo #define COLUMNS 15 #define ROWS 25 //Configurações de layout #define PIXEL 219 #define EMPTY 32 //Configuração de teclas #define ESC 27 #define ARROWS 224 #define LEFT 75 #define RIGHT 77 #define TECLA_a 97 #define TECLA_d 100 #define TECLA_A 65 #define TECLA_D 68 #define TECLA_ESPACO 32 //Criando as orientações para as peças #define ORIENTACAO_LEFT 2 #define TIPO_I 7 //Configurações do mecanismo de colisão #define CHECK_SIDE 1 #define UNCHECK_SIDE 0 #define NONE 0 //Estrutura padrão de componentes typedef struct{ int i; //posicao nas linhas da matriz int j; //posicao nas colunas da matriz int orientacao; //orientacao da peça int tipo; //o tipo de peça (7 possíveis) int width; //largura da peça int height; //altura da peça }Bloco; /* Inicializa a matriz principal com 'espaços vazios' */ void init(char matrix[ROWS][COLUMNS]); /* Mostra o conteúdo da matriz principal na tela do computador. */ void printMatrix(char matrix[ROWS][COLUMNS]); /* Desenhar uma barra usando o simbolo do caracter ASCII passado por parâmetro. */ void drawBar(char matrix[ROWS][COLUMNS], Bloco barra, int simbolo); /* Inicializar a peça do tipo barra */ void initBar(Bloco *barra); /* Verifica a colisão de blocos int collisionDetect(char matrix[ROWS][COLUMNS], Bloco barra);*/ /* Verifica a colisão de barras int collisionBar(char matrix[ROWS][COLUMNS], Bloco barra, int collideSides, int side);*/

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!