rod1231234

snake

Oct 28th, 2011
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.58 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <time.h>
  4. #include <windows.h>
  5. #include <conio.h>
  6. // gotoxy
  7. void gotoxy(int x, int y)
  8. {
  9.     COORD c;
  10.     c.X = x - 1;
  11.     c.Y = y - 1;
  12.     SetConsoleCursorPosition (GetStdHandle(STD_OUTPUT_HANDLE), c);
  13. }
  14. //gotoxy
  15. struct andar
  16. {
  17.     int x;
  18.     int y;
  19. };
  20. int main (void)
  21. {
  22.     int a,b,c=1,d,i,j,x;
  23.     srand(time(NULL));
  24.     struct andar cabeca,corpo1,corpo2,corpo3,corpo4,corpo5;
  25.     cabeca.x=10;
  26.     cabeca.y=10;
  27.     corpo1.x=9;
  28.     corpo1.y=10;
  29.     corpo2.x=8;
  30.     corpo2.y=10;
  31.     corpo3.x=7;
  32.     corpo3.y=10;
  33.     corpo4.x=6;
  34.     corpo4.y=10;
  35.     gotoxy(26,1);
  36.     printf("INSIRA A VELOCIDADE DA COBRA:");
  37.     gotoxy(15,2);
  38.     printf("VELOCIDADE:");
  39.     fflush(stdin);
  40.     scanf("%d",&a);
  41.     fflush(stdin);
  42.     system("cls");
  43.     switch (a)
  44.     {
  45.         case 1:x=50;break;
  46.     }
  47.     do
  48.     {
  49.         gotoxy(cabeca.x,cabeca.y);
  50.         printf("%c",178);
  51.         gotoxy(corpo1.x,corpo1.y);
  52.         printf("%c",178);
  53.         gotoxy(corpo2.x,corpo2.y);
  54.         printf("%c",177);
  55.         gotoxy(corpo3.x,corpo3.y);
  56.         printf("%c",177);
  57.         gotoxy(corpo4.x,corpo4.y);
  58.         printf("%c",176);
  59.         gotoxy(corpo5.x,corpo5.y);
  60.         printf(" ");
  61.         corpo5=corpo4;
  62.         corpo4=corpo3;
  63.         corpo3=corpo2;
  64.         corpo2=corpo1;
  65.         corpo1=cabeca;
  66.         if(cabeca.x!=79 && cabeca.x!=0 && cabeca.y!=0 && cabeca.y!=25)
  67.         {
  68.         b=rand() %20;
  69.         switch(b)
  70.         {
  71.             case 0:c--;break;
  72.             case 19:c++;break;
  73.         }
  74.         if(c==-1) c=3;
  75.         if(c==4) c=0;
  76.         switch(c)
  77.         {
  78.             case 0:cabeca.y--;break;//cima
  79.             case 1:cabeca.x++;break;//direita
  80.             case 2:cabeca.y++;break;//baixo
  81.             case 3:cabeca.x--;break;//esquerda
  82.         }
  83.         }
  84.         else
  85.         {
  86.         // x = 79 // y = 25
  87.         if(cabeca.x==79)
  88.         d=rand() %2;
  89.         switch(d)
  90.         {
  91.             case 0:cabeca.y--;break;
  92.             case 1:cabeca.y++;break;
  93.         }
  94.         if(cabeca.x==0)
  95.         d=rand() %2;
  96.         switch(d)
  97.         {
  98.             case 0:cabeca.y--;break;
  99.             case 1:cabeca.y++;break;
  100.         }
  101.         if(cabeca.y==25)
  102.         d=rand() %2;
  103.         switch(d)
  104.         {
  105.             case 0:cabeca.x--;break;
  106.             case 1:cabeca.x++;break;
  107.         }
  108.         if(cabeca.y==0)
  109.         d=rand() %2;
  110.         switch(d)
  111.         {
  112.             case 0:cabeca.x--;break;
  113.             case 1:cabeca.x++;break;
  114.         }
  115.         }
  116.         _sleep(x);
  117.     }while(kbhit()!=1);
  118. }
  119.  
Advertisement
Add Comment
Please, Sign In to add comment