Elabore um programa em C, que simule um carrinho de corrida
andando numa pista em forma de caracol. Quando o carrinho completar
o trajeto,pergunte ao usuário se o mesmo deseja executar o programa
novamente. Caso ele não o queira, interrompa o programa. Solte
sua criatividade e abuse das cores e dos sons!
#include < stdio.h >
#include < conio.h >
#include < dos.h >
#include < ctype.h >
void main()
{
int i, j, c1a, c1b, l1b, l1a;
char resp;
do
{
c1a=1; c1b=73; // controlam colunas
l1a=1; l1b=23; // controlam linas
clrscr();
textbackground(11); textcolor(13); // cores
do // executa enquanto numero de linhas OK
{
for (i=c1a;i < =c1b;i++) // trajeto superior horizontal
{
sound(i);
gotoxy(i,l1a);cprintf("\xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC");
gotoxy(i,l1a+1);cprintf("\xDFO\xDF\xDF\xDF\xDFO\xDF");
delay(50);
clrscr();
}
for (i=l1a;i < =l1b;i++) // trajeto lateral direito
{
sound(i);
gotoxy(c1b-1,i);printf("\xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC");
gotoxy(c1b-1,i+1);printf("\xDFO\xDF\xDF\xDF\xDFO\xDF");
delay(50);
clrscr();
}
c1a=c1a+9; // atualiza posicao da coluna
for (i=c1b-1;i > =c1a;i--) // trajeto inferior horizontal
{
sound(i);
gotoxy(i,l1b);printf("\xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC");
gotoxy(i,l1b+1);printf("\xDFO\xDF\xDF\xDF\xDFO\xDF");
delay(50);
clrscr();
}
for (i=l1b-1;i > =l1a+3;i--) // trajeto lateral esquerdo
{
sound(i);
gotoxy(c1a,i);printf("\xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC");
gotoxy(c1a,i+1);printf("\xDFO\xDF\xDF\xDF\xDFO\xDF");
delay(50);
clrscr();
}
l1a=l1a+3; // ataliza posicao das linhas e colunas
c1b=c1b-10;
l1b=l1b-3;
}while(l1a < 12);
nosound();
do
{
textbackground(0); textcolor(14);
gotoxy(5,23);cprintf("Deseja executar novamente (S/N) ?");
resp=getch();
resp=toupper(resp);
}while(resp!='S'&& resp!='N');
}while(resp!='N');
}
|