Boas a todos. galera é o seguinte, to precisando entregar um programa em C que simule o movimento de duas particulas em um ambiente fechado e sem interferencias externas. é mais ou menos como aqueles descansos de tela de alguns aparelhos DVD que ficam se movientando e quando se chocam na tela continuam o movimento de acordo com o angulo da colisão. o problema é q minnha professora pediu duas particulas e essas duas particulas podem se chocar e descrever o mesmo movimento de um choque com a tela.
até o momento conseguir com uma ajuda fazer o movimento de uma particula.
alguém tem uma ideia de como fazer a segunda e no momento que as duas se chocarem fizerem o movimeto correspondente ao angulo do choque?
Pergunta
Hornet
Boas a todos. galera é o seguinte, to precisando entregar um programa em C que simule o movimento de duas particulas em um ambiente fechado e sem interferencias externas. é mais ou menos como aqueles descansos de tela de alguns aparelhos DVD que ficam se movientando e quando se chocam na tela continuam o movimento de acordo com o angulo da colisão. o problema é q minnha professora pediu duas particulas e essas duas particulas podem se chocar e descrever o mesmo movimento de um choque com a tela.
até o momento conseguir com uma ajuda fazer o movimento de uma particula.
alguém tem uma ideia de como fazer a segunda e no momento que as duas se chocarem fizerem o movimeto correspondente ao angulo do choque?
codigo até o momento
#include<stdio.h> #include<conio.h> #include<windows.h> typedef struct { int x,y; } Coord;//guarda coordenadas typedef struct { Coord pos,mov; } _particula;//a estrutura das particulas void gotoxy(int x, int y) { SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1}); } void up_particula(_particula *particula) { gotoxy(particula->pos.x,particula->pos.y); putchar(' '); if(particula->pos.x==80)particula->mov.x=-particula->mov.x; if(particula->pos.y==25)particula->mov.y=-particula->mov.y; if(particula->pos.x==1)particula->mov.x=-particula->mov.x; if(particula->pos.y==1)particula->mov.y=-particula->mov.y; particula->pos.x+=particula->mov.x; particula->pos.y+=particula->mov.y; gotoxy(particula->pos.x,particula->pos.y); putchar('o'); } int main(void) { _particula particula = {{10,10},{1,1}}; while(!_kbhit()){ _sleep(50); up_particula(&particula); } return 0; }Editado por quintelabRemovido Ajuda do Título e Adicionado BBCode Code
Link 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.