久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2724|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

自己寫的C語言貪吃蛇游戲源碼分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
貪食蛇的運(yùn)行效果圖:


c語言源碼:
  1. #include<stdio.h>
  2. #include<stdlib.h>

  3. #define U 'w'
  4. #define D 's'
  5. #define R 'd'
  6. #define L 'a'
  7. #define long 4
  8. #define U_Link 1
  9. #define D_Link 20
  10. #define L_Link 1
  11. #define R_Link 60
  12. #define max 20

  13. struct S{
  14.                 char x,y,cur;
  15.         }h[max],target[11]={{4,4,1},{25,15,1},{5,6,1},{38,16,1},{51,4,1},{25,13,1},{5,18,1},{55,12,1},{15,3,1},{40,15,1},{30,10,1}};

  16. void delay();
  17. void close();
  18. void start();
  19. void pro(int i);


  20. void main()
  21. {
  22.         
  23.         int time;
  24.         char head_l,head_c,i,j,length;
  25.         char key,ch=0,t;
  26. loop:{
  27.         printf("\t\t\t/***********貪吃蛇**********/\n") ;
  28.         printf("\n\n\t   操作技巧:\n\t\t\tW 鍵: 向上") ;
  29.         printf("\n\n\t\t\tS 鍵: 向下") ;
  30.         printf("\n\n\t\t\tA 鍵: 向左") ;
  31.         printf("\n\n\t\t\tD 鍵: 向右") ;
  32.         printf("\n\n\n\t\t按回車鍵進(jìn)入.............") ;
  33.         getchar();
  34.         for(i=0;i<max-1;i++)
  35.         {
  36.                 h[i].cur=i+1;
  37.         }
  38.         h[i].cur=0;
  39.         
  40.         char s[30][60]={0};
  41.         head_l=(U_Link+D_Link)/2;
  42.         head_c=(R_Link+L_Link)/2;

  43.         for(i=0;i<long-1;i++)
  44.         {
  45.                 h[i].cur=i+1;
  46.         }
  47.         h[i].cur=0;
  48.         
  49.         length=long;
  50.         time=1500;
  51.         key=L;
  52.         t=0;
  53.         for(j=0;j<length;j++)
  54.         {
  55.                 h[j].y=head_l;
  56.                 h[j].x=head_c+j;
  57.         }
  58.         while(1)
  59.         {
  60.                 for(j=0;j<length;j++)
  61.                 {
  62.                         s[h[j].y][h[j].x]=1;
  63.                 }
  64.                 s[target[t].y][target[t].x]=2;
  65.                 for(i=0;i<=U_Link;i++)        
  66.                         printf("================================================================================\n");
  67.         
  68.                 for(i=0;i<D_Link-U_Link;i++)
  69.                 {
  70.                         for(j=0;j<L_Link;j++)
  71.                                 printf(" ");
  72.                         printf(" ||");
  73.                         for(j=0;j<R_Link;j++)
  74.                         {
  75.                                 if(s[i][j]==1)
  76.                                         printf("0");
  77.                                 else if(s[i][j]==2)
  78.                                         printf("*");
  79.                                 else printf(" ");
  80.                         }
  81.                         
  82.                         printf("|| \n");
  83.                 }
  84.                 if((h[0].x==target[t].x)&&(h[0].y==target[t].y))
  85.                 {
  86.                         t++;
  87.                         length++;
  88.                         time-=80;
  89.                         if(t>9)break;
  90.                 }
  91.                 s[h[length-1].y][h[length-1].x]=0;
  92.                 for(i=length-1;i>0;i--)
  93.                 {
  94.                         h[i].x=h[i-1].x;
  95.                         h[i].y=h[i-1].y;
  96.                 }
  97.                
  98.                 if(_kbhit())
  99.                 {
  100.                         ch=getch();
  101.                         if((ch==U)||(ch==D)||(ch==R)||(ch==L))
  102.                                 key=ch;
  103.                 }
  104.                 if(key==U)
  105.                 {
  106.                         if(head_l>=0)
  107.                                 head_l--;
  108.                         else head_l=D_Link;        
  109.                 }
  110.                 if(key==D)
  111.                 {
  112.                         if(head_l<D_Link)
  113.                                 head_l++;
  114.                         else head_l=U_Link;
  115.                 }
  116.                 if(key==L)
  117.                 {
  118.                         if(head_c>=0)
  119.                                 head_c--;
  120.                         else head_c=R_Link+1;        
  121.                 }
  122.                 if(key==R)
  123.                 {
  124.                         if(head_c<R_Link)
  125.                                 head_c++;
  126.                         else head_c=L_Link;        
  127.                 }
  128.                 h[0].x=head_c;
  129.                 h[0].y=head_l;
  130.                 printf("\n\t得分: %d",t*10);
  131.         //        printf("h[0].x=%d   h[0].y=%d  target[%d].x=%d y=%d\n",h[0].x,h[0].y,t,target[t].x,target[t].y);
  132.                 delay(time);
  133.                 close();
  134.                
  135.         }
  136.         close();
  137.         printf("恭喜通關(guān)\n");
  138.         printf("\n\t得分: %d\n",t*10);
  139.         printf("按空格鍵退出\n");

  140.         
  141.                 if(' '==getch())
  142.                 goto loop;
  143.         
  144. }
  145. }
  146. void delay(int i)
  147. {
  148.         int a,b=i;
  149.         for(a=0;a<50000;a++,i=b)
  150.         while(i--);
  151. }
  152. void close()
  153. {
  154.         system("cls");
  155. }

復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:283869 發(fā)表于 2018-2-12 17:32 | 只看該作者
只用了一天寫的,還有一些bug,不喜勿噴
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人在线看片 | 国产精品美女久久久久aⅴ国产馆 | 在线观看www高清视频 | 久久99成人| 久草网站 | 日韩欧美高清 | 欧美综合一区 | 91国产视频在线 | 中文在线一区 | 久久免费资源 | 国产精品美女久久久久久免费 | 狠狠亚洲 | 欧美日韩精品一区 | 一级片网站视频 | 国产一在线 | 宅男噜噜噜66一区二区 | 国产 日韩 欧美 在线 | 亚洲视频免费在线播放 | 国产精品欧美一区二区三区 | 国产日韩一区二区三免费 | 国产日产欧产精品精品推荐蛮挑 | 日韩综合一区 | 91久久久久久久久久久 | 久草视频在线看 | 日韩欧美精品在线 | 欧美色影院 | www.亚洲成人网| 成人欧美一区二区 | 伊人一区 | 久久9热 | 国产精品久久久久久久久久妇女 | 国产精品成人品 | 超碰人人爱 | 久久精品国产精品青草 | 国产精品区一区二区三 | 午夜影视| 亚洲午夜视频在线观看 | 久久亚洲91 | 日韩欧美三级在线 | 一级a性色生活片久久毛片波多野 | 成人做爰www免费看 午夜精品久久久久久久久久久久 |