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 "conio.h"
#include "stdio.h"
#include "dos.h"
void main()
{
int x1, y1, come1, fim1;
int x2, y2, come2, fim2;
int x3, y3, come3, fim3;
int x4, y4, come4, fim4;
int i, cont, menu, coluna, linha, tem, cor;
char op, perg;
do
{
clrscr();
textattr(15);
coluna=22;
linha=14;
// menu
for(menu=21; menu<=59; menu++)
{
gotoxy(menu, 5); cprintf("Ä¿");
gotoxy(menu,20); cprintf("ÄÙ");
}
gotoxy(20,5); cprintf("Ú"); gotoxy(20,20); cprintf("À");
for(menu=6; menu<=19; menu++)
{
gotoxy(20,menu); cprintf("³");
gotoxy(60,menu); cprintf("³");
}
// escolha do veiculo
do
{
gotoxy(25,6); cprintf("ÜÜÛÛÛÛÜÜ");
gotoxy(25,7); cprintf("ßßoßßßoß");
gotoxy(23,8); cprintf("1-) Carrinho");
gotoxy(47,6); cprintf("ÛÛÛÛÛÜÛÜ");
gotoxy(47,7); cprintf("ßooßßßoß");
gotoxy(45,8); cprintf("2-) CaminhÆo");
gotoxy(23,10); cprintf("Escolha \b\b\b");
scanf("%c",&op);
}while((op!='1') && (op!='2'));
// tempo do carrinho
do
{
gotoxy(23,12); cprintf("Tempo: \b\b\b");
scanf("%d",&tem);
}while(tem>100);
// escolha da cor
do
{
for(cont=1; cont<=15; cont++)
{
textattr(cont);
if(cont<=9)
{
gotoxy(coluna,linha);
cprintf(" %d-) ²",cont);
coluna=coluna+7;
}
if(cont>=10)
{
gotoxy(coluna,linha);
cprintf("%d-) ²",cont);
coluna=coluna+7;
}
if(coluna>53)
{
linha++;
coluna=22;
}
}
gotoxy(23,18); cprintf("Cor: \b\b\b");
scanf("%d",&cor);
}while(cor>15);
// limpa a tela
clrscr();
//valor das vaiareis da corrinho
y1= 2; come1= 1; fim1=70;
x2=71; come2= 3; fim2=23;
y3=23; come3=71; fim3= 2;
x4= 2; come4=22; fim4= 5;
textattr(cor);
//pista
for(i=1; i<=79; i++)
{
gotoxy(i, 1); cprintf("Ä¿");
gotoxy(i,25); cprintf("Ä");
if(i<70)
{
gotoxy(i,4); cprintf("Ä¿");
if(i>10)
{
gotoxy(i,22); cprintf("ÄÙ");
if(i<61)
{
gotoxy(i,7); cprintf("Ä¿");
if(i>19)
{
gotoxy(i,19); cprintf("ÄÙ");
if(i<52)
{
gotoxy(i,10); cprintf("Ä¿");
if(i>28)
{
gotoxy(i,16); cprintf("ÄÙ");
if(i<43)
{
gotoxy(i,13); cprintf("Ä¿");
}}}}}}}}
for(i=2; i<=24; i++)
{
gotoxy(80,i); cprintf("³");
if(i>4)
{
gotoxy(1,i); cprintf("³");
if(i<22)
{
gotoxy(70,i); cprintf("³");
if(i>7)
{
gotoxy(10,i); cprintf("³");
if(i<19)
{
gotoxy(61,i); cprintf("³");
if(i>10)
{
gotoxy(19,i); cprintf("³");
if(i<16)
{
gotoxy(52,i); cprintf("³");
if(igt;13)
{
gotoxy(28,i); cprintf("³");
}}}}}}}}
gotoxy(1 ,4); cprintf("Ú");
gotoxy( 1,25); cprintf("À");
gotoxy(10,7); cprintf("Ú");
gotoxy(10,22); cprintf("À");
gotoxy(19,10); cprintf("Ú");
gotoxy(19,19); cprintf("À");
gotoxy(28,13); cprintf("Ú");
gotoxy(28,16); cprintf("À");
gotoxy(43,16); cprintf("Á");
// escolha do veiculo
switch(op)
{
case '1':
// largada
gotoxy(1,2); cprintf("ÜÜÛÛÛÛÜÜ");
gotoxy(1,3); cprintf("ßßoßßßoß"); textattr(4);
gotoxy(11,2); cprintf("3");
gotoxy(80,25); sound(100); delay(1000);
nosound();
gotoxy(13,2); cprintf("2");
gotoxy(80,25); sound(200); delay(1000);
nosound();
gotoxy(15,2); cprintf("1");
gotoxy(80,25); sound(300); delay(1500);
nosound();
gotoxy(11,2); cprintf("Largada!!");
gotoxy(80,25); sound(1000);
delay(200); nosound();
// carrinho
for(cont=1; cont<=4; cont++)
{
for(x1=come1; x1<=fim1; x1++)
{
delay(tem);
gotoxy(x1,y1); textattr(0); cprintf("Û");
textattr(cor); cprintf("ÜÜÛÛÛÛÜÜ");
gotoxy(x1,y1+1); textattr(0); cprintf("Û");
textattr(cor); cprintf("ßßoßßßoß");
gotoxy(80,25);
}
for(y2=come2; y2<=fim2; y2++)
{
delay(tem); textattr(0);
gotoxy(x2,y2-1); cprintf("ÛÛÛÛÛÛÛÛ");
textattr(cor);
gotoxy(x2,y2); cprintf("ÜÜÛÛÛÛÜÜ");
gotoxy(x2,y2+1); cprintf("ßoßßßoßß");
gotoxy(80,25);
}
for(x3=come3; x3>=fim3; x3--)
{
delay(tem);
gotoxy(x3,y3); cprintf("ÜÜÛÛÛÛÜÜ");
textattr(0); cprintf("Û"); textattr(cor);
gotoxy(x3,y3+1); cprintf("ßoßßßoßß");
textattr(0); cprintf("Û");
gotoxy(60,17); cprintf("Û"); gotoxy(60,18);
cprintf("Û"); textattr(cor); gotoxy(80,25);
}
for(y4=come4; y4>=fim4; y4--)
{
delay(tem);
gotoxy(x4,y4); cprintf("ÜÜÛÛÛÛÜÜ");
gotoxy(x4,y4+1); cprintf("ßßoßßßoß");
textattr(0); gotoxy(x4,y4+2);
cprintf("ÛÛÛÛÛÛÛÛ");
textattr(cor); gotoxy(80,25);
}
come1=come1+1; y1=y1+3; fim1=fim1-9;
come2=come2+3; x2=x2-9; fim2=fim2-3;
come3=come3-10; y3=y3-3; fim3=fim3+9;
come4=come4-3; x4=x4+9; fim4=fim4+3;
if(cont>=2)
{
come1=come1+8;
}
if(cont>=3)
{
come3=come3+2;
fim3=fim3+3;
}
}
break;
case '2':
// largada
gotoxy(1,2); cprintf("ÛÛÛÛÛÜÛÜ");
gotoxy(1,3); cprintf("ßooßßßoß"); textattr(4);
gotoxy(11,2); cprintf("3"); gotoxy(80,25);
sound(100); delay(1000);
nosound();
gotoxy(13,2); cprintf("2"); gotoxy(80,25);
sound(200); delay(1000);
nosound();
gotoxy(15,2); cprintf("1"); gotoxy(80,25);
sound(300); delay(1500);
nosound();
gotoxy(11,2); cprintf("Largada!!");
gotoxy(80,25); sound(1000);
delay(200); nosound();
// carrinho
for(cont=1; cont<=4; cont++)
{
for(x1=come1; x1<=fim1; x1++)
{
delay(tem);
gotoxy(x1,y1); textattr(0); cprintf("Û");
textattr(cor); cprintf("ÛÛÛÛÛÜÛÜ");
gotoxy(x1,y1+1); textattr(0); cprintf("Û");
textattr(cor); cprintf("ßooßßßoß");
gotoxy(80,25);
}
for(y2=come2; y2<=fim2; y2++)
{
delay(tem); textattr(0);
gotoxy(x2,y2-1); cprintf("ÛÛÛÛÛÛÛÛ");
textattr(cor);
gotoxy(x2,y2); cprintf("ÜÛÜÛÛÛÛÛ");
gotoxy(x2,y2+1); cprintf("ßoßßßooß");
gotoxy(80,25);
}
for(x3=come3; x3>=fim3; x3--)
{
delay(tem);
gotoxy(x3,y3); cprintf("ÜÛÜÛÛÛÛÛ");
textattr(0); cprintf("Û"); textattr(cor);
gotoxy(x3,y3+1); cprintf("ßoßßßooß");
textattr(0); cprintf("Û");
gotoxy(60,17); cprintf("Û"); gotoxy(60,18);
cprintf("Û"); textattr(cor); gotoxy(80,25);
}
for(y4=come4; y4>=fim4; y4--)
{
delay(tem);
gotoxy(x4,y4); cprintf("ÛÛÛÛÛÜÛÜ");
gotoxy(x4,y4+1); cprintf("ßooßßßoß");
textattr(0); gotoxy(x4,y4+2);
cprintf("ÛÛÛÛÛÛÛÛ");
textattr(cor); gotoxy(80,25);
}
come1=come1+1; y1=y1+3; fim1=fim1-9;
come2=come2+3; x2=x2-9; fim2=fim2-3;
come3=come3-10; y3=y3-3; fim3=fim3+9;
come4=come4-3; x4=x4+9; fim4=fim4+3;
if(cont>=2)
{
come1=come1+8;
}
if(cont>=3)
{
come3=come3+2;
fim3=fim3+3;
}
}
break;
}
textattr(cor); delay(500);
gotoxy(43,14); cprintf("³");
delay(500);
gotoxy(43,15); cprintf("³");
textattr(15);
gotoxy(30,24); cprintf("Denovo? (s) sim (n) nÆo ");
scanf("%s",&perg);
}while((perg!='N') && (perg!='n'));
}
|