Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <time.h>
- #include <windows.h>
- #include <conio.h>
- // gotoxy
- void gotoxy(int x, int y)
- {
- COORD c;
- c.X = x - 1;
- c.Y = y - 1;
- SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
- }
- //gotoxy
- struct andar
- {
- int x;
- int y;
- };
- int main (void)
- {
- int a,b,c=1,d,i,j,x;
- srand(time(NULL));
- struct andar cabeca,corpo1,corpo2,corpo3,corpo4,corpo5;
- cabeca.x=10;
- cabeca.y=10;
- corpo1.x=9;
- corpo1.y=10;
- corpo2.x=8;
- corpo2.y=10;
- corpo3.x=7;
- corpo3.y=10;
- corpo4.x=6;
- corpo4.y=10;
- gotoxy(26,1);
- printf("INSIRA A VELOCIDADE DA COBRA:");
- gotoxy(15,2);
- printf("VELOCIDADE:");
- fflush(stdin);
- scanf("%d",&a);
- fflush(stdin);
- system("cls");
- switch (a)
- {
- case 1:x=50;break;
- }
- do
- {
- gotoxy(cabeca.x,cabeca.y);
- printf("%c",178);
- gotoxy(corpo1.x,corpo1.y);
- printf("%c",178);
- gotoxy(corpo2.x,corpo2.y);
- printf("%c",177);
- gotoxy(corpo3.x,corpo3.y);
- printf("%c",177);
- gotoxy(corpo4.x,corpo4.y);
- printf("%c",176);
- gotoxy(corpo5.x,corpo5.y);
- printf(" ");
- corpo5=corpo4;
- corpo4=corpo3;
- corpo3=corpo2;
- corpo2=corpo1;
- corpo1=cabeca;
- if(cabeca.x!=79 && cabeca.x!=0 && cabeca.y!=0 && cabeca.y!=25)
- {
- b=rand() %20;
- switch(b)
- {
- case 0:c--;break;
- case 19:c++;break;
- }
- if(c==-1) c=3;
- if(c==4) c=0;
- switch(c)
- {
- case 0:cabeca.y--;break;//cima
- case 1:cabeca.x++;break;//direita
- case 2:cabeca.y++;break;//baixo
- case 3:cabeca.x--;break;//esquerda
- }
- }
- else
- {
- // x = 79 // y = 25
- if(cabeca.x==79)
- d=rand() %2;
- switch(d)
- {
- case 0:cabeca.y--;break;
- case 1:cabeca.y++;break;
- }
- if(cabeca.x==0)
- d=rand() %2;
- switch(d)
- {
- case 0:cabeca.y--;break;
- case 1:cabeca.y++;break;
- }
- if(cabeca.y==25)
- d=rand() %2;
- switch(d)
- {
- case 0:cabeca.x--;break;
- case 1:cabeca.x++;break;
- }
- if(cabeca.y==0)
- d=rand() %2;
- switch(d)
- {
- case 0:cabeca.x--;break;
- case 1:cabeca.x++;break;
- }
- }
- _sleep(x);
- }while(kbhit()!=1);
- }
Advertisement
Add Comment
Please, Sign In to add comment