亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言怎么制作貪吃蛇游戲?

發布時間:2020-06-23 09:58:19 來源:億速云 閱讀:178 作者:清晨 欄目:編程語言

這篇文章將為大家詳細講解有關C語言怎么制作貪吃蛇游戲?,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

/********************************************************* 
********************貪吃蛇(難度可選)******************** 
**************制作者:Xu Lizi 日期:2012/12/31******** 
********************部分函數有借鑒************************ 
**********************************************************/ 
#include<stdio.h> 
#include<conio.h> 
#include<string.h> 
#include<stdlib.h> 
#include<time.h> 
 
 
int snakey[100]={5,4,3,2,1}; /*定義蛇的橫坐標*/ 
int snakex[100]={1,1,1,1,1}; /*定義蛇的縱坐標,蛇頭起始位置為(5,1)*/ 
int life=0; /*定義蛇的生命,0表示存活,1表示死亡*/ 
int lenght=5; /*定義蛇的長度,初始為5節*/ 
 
 
char map[12][24]={"***********************", /*y*/ 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
   "*   *", 
  /*x*/ "***********************"}; 
 
 
void put_money(int i,int j) /*放錢函數,使用隨機數,隨機出現食物*/ 
{ 
 int x=0,y=0; 
 srand(time(NULL)); 
 while ( (map[y][x]==003) || (map[y][x]==002) || (map[y][x]=='*') || ((x==i)&&(y==j)) ) 
 { 
  x=rand()%21+1; 
  y=rand()%10+1; 
 } 
 map[y][x]='$'; 
 return; 
} 
 
 
void output() /*輸出*/ 
{ 
 system("cls"); 
 int i,j; 
 for(i=0; i<12; i++) 
 { 
  for(j=0; j<23; j++) printf("%c", map[i][j]); 
  printf("\n"); 
 } 
 return; 
} 
 
 
void gameover() /*游戲結束*/ 
{ 
 life=1; 
 printf("笨蛋,輸了吧!!!\n"); 
 return; 
} 
 
 
void turn_up() /*向上移動*/ 
{ 
 system("cls"); 
 int i; 
 if ( (snakex[0]==1) || (map[snakex[0]-1][snakey[0]]==003) ) gameover(); else { 
 if (map[snakex[0]-1][snakey[0]]=='$') 
 { 
  put_money( snakey[0], snakex[0]-1 ); 
  lenght++; 
  map[snakex[lenght-1]][snakey[lenght-1]]=003; 
 } 
 for(i=lenght; i>0; i--) 
 { 
  snakex[i]=snakex[i-1]; 
  snakey[i]=snakey[i-1]; 
 } 
 map[snakex[lenght]][snakey[lenght]]=' '; 
 snakex[0]--; 
 for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003; 
 map[snakex[0]][snakey[0]]=002; 
 output(); 
 } 
 return; 
} 
 
 
void turn_down()  /*向下*/ 
{ 
 system("cls"); 
 int i; 
 if ( (snakex[0]==10) || (map[snakex[0]+1][snakey[0]]==003) ) gameover();else { 
 if (map[snakex[0]+1][snakey[0]]=='$') 
 { 
  put_money(snakey[0],snakex[0]+1); 
  lenght++; 
  map[snakex[lenght-1]][snakey[lenght-1]]=003; 
 } 
 for(i=lenght; i>0; i--) 
 { 
  snakex[i]=snakex[i-1]; 
  snakey[i]=snakey[i-1]; 
 } 
 snakex[0]++; 
 map[snakex[lenght]][snakey[lenght]]=' '; 
 for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003; 
 map[snakex[0]][snakey[0]]=002; 
 output(); 
 } 
 return; 
} 
 
 
void turn_left() /*向左*/ 
{ 
 system("cls"); 
 int i; 
 if ( (snakey[0]==1) || (map[snakex[0]][snakey[0]-1]==003) ) gameover();else { 
 if (map[snakex[0]][snakey[0]-1]=='$') 
 { 
  put_money(snakey[0]-1,snakex[0]); 
  lenght++; 
  map[snakex[lenght-1]][snakey[lenght-1]]=003; 
 } 
 for(i=lenght; i>0; i--) 
 { 
  snakex[i]=snakex[i-1]; 
  snakey[i]=snakey[i-1]; 
 } 
 map[snakex[lenght]][snakey[lenght]]=' '; 
 snakey[0]--; 
 for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003; 
 map[snakex[0]][snakey[0]]=002; 
 output(); 
 } 
 return; 
} 
 
 
void turn_right() /*向右*/ 
{ 
 system("cls"); 
 int i; 
 if ( (snakey[0]==21) || (map[snakex[0]][snakey[0]+1]==003) ) gameover();else { 
 if (map[snakex[0]][snakey[0]+1]=='$') 
 { 
  put_money(snakey[0]+1,snakex[0]); 
  lenght++; 
  map[snakex[lenght-1]][snakey[lenght-1]]=003; 
 } 
 for(i=lenght; i>0; i--) 
 { 
  snakex[i]=snakex[i-1]; 
  snakey[i]=snakey[i-1]; 
 } 
 map[snakex[lenght]][snakey[lenght]]=' '; 
 snakey[0]++; 
 for(i=lenght-1; i>0; i--) map[snakex[i]][snakey[i]]=003; 
 map[snakex[0]][snakey[0]]=002; 
 output(); 
 } 
 return; 
} 
 
 
int main() 
{ 
 int i,timeover,hard; 
 long start; 
 char name , direcation; 
 
 
 printf("\n 向上移動:W ;向下移動:S ; 向左移動:A ; 向右移動:D \n"); 
 printf("\t請選擇難度(數字)\n\t分1~5級,分別代表\n\t1難,2中上,3中,4中下5,易:\n"); 
 scanf("%d",&hard); 
 system("cls"); 
 
 
 for(i=1;i<5;i++) map[1][i]=003; /*輸出蛇身*/ 
 map[1][5]=002; /*輸出蛇頭*/ 
 
 
 put_money(0,0); 
 output(); 
 
 
 while(life!=1) /*當蛇死亡時結束循環*/ 
 { 
 /*讓蛇自動運行的函數******有借鑒*/ 
 timeover=1; 
 start=clock(); 
 while((timeover=(clock()-start<=hard*100))&&!kbhit()); //難度設定 
 if(timeover) 
 { 
   direcation=getch(); 
 } 
 /*讓蛇自動運行的函數******有借鑒*/ 
 
 switch(direcation) 
 { 
  case 'w':turn_up();break; 
  case 's':turn_down();break; 
  case 'a':turn_left();break; 
  case 'd':turn_right();break; 
 } 
 } 
 return 0; 
} 

關于C語言怎么制作貪吃蛇游戲?就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松桃| 墨竹工卡县| 海门市| 吉木乃县| 崇义县| 建宁县| 沾化县| 萍乡市| 乌鲁木齐县| 金塔县| 长乐市| 六安市| 土默特左旗| 申扎县| 杭锦旗| 曲阜市| 张北县| 稷山县| 鄢陵县| 遂溪县| 民乐县| 独山县| 高尔夫| 深泽县| 宜兰县| 陇川县| 赫章县| 濮阳县| 彩票| 德江县| 延吉市| 巨鹿县| 西安市| 北票市| 元阳县| 桐柏县| 凯里市| 沙田区| 祁门县| 巴东县| 尼玛县|