真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

C語言中的飛機游戲-創(chuàng)新互聯(lián)

#include

公司專注于為企業(yè)提供成都網站建設、成都網站制作、微信公眾號開發(fā)、商城開發(fā)小程序開發(fā),軟件按需制作網站等一站式互聯(lián)網企業(yè)服務。憑借多年豐富的經驗,我們會仔細了解各客戶的需求而做出多方面的分析、設計、整合,為客戶設計出具風格及創(chuàng)意性的商業(yè)解決方案,成都創(chuàng)新互聯(lián)公司更提供一系列網站制作和網站推廣的服務。

#include

#include

#include

#define N 35

void print(int [][N]);//輸出函數(shù)

void movebul(int [][N]);//×××移動函數(shù)

void movepla(int [][N]);//敵機移動函數(shù)

void setting(void);//設置函數(shù)

void menu(void);//菜單函數(shù)

int scr[22][N]={0},pl=9,width=24,speed=3,density=30,score=0,death=0;//全局變量:界面、我機初始位、界面寬度、敵機速度、敵機密度、得分、死亡

main(void)

{

  menu();

int i=0,j=0;

  scr[21][pl]=1;

  scr[0][5]=3;

  while(1)

  {

 if(kbhit())

 switch(getch())//控制左右移動和進入菜單

   {

   case 'a':case 'A':

   if(pl>0)

   scr[21][pl]=0,scr[21][--pl]=1;

 break;

     case 'd':case 'D':

   if(pl

   scr[21][pl]=0,scr[21][++pl]=1;

        break;

     case 'w':case 'W':

   scr[20][pl]=2;

   break;

 case 27 :

   setting();

       break;

   }

 if(++j%density==0)//控制生產敵機的速度

   {

  j=0;srand(time(NULL));

     scr[0][rand()%width]=3;

   }

   if(++i%speed==0)//控制敵機移動速度,相對于×××移動速度

     movepla(scr);

   movebul(scr);

   print(scr);

   if(i==30000)

  i=0;//以免i 越界

  }

}

void print(int a[][N])

{

  system("cls");

  int i,j;

  for(i=0;i<22;i++)

  {

   a[i][width-1]=4;

   for(j=0;j

{

 if(a[i][j]==0)

   printf(" ");

    if(a[i][j]==1)

     printf("\5");//輸出我機的符號

    if(a[i][j]==2)

   printf(".");//×××

    if(a[i][j]==3)

   printf("\3"); //輸出敵機符號

    if(a[i][j]==4)

   printf("|");

    if(i==0&&j==width-1)

   printf("得分:%d",score);//右上角顯示得分

    if(i==1&&j==width-1)

   printf("死亡:%d",death);

    if(i==2&&j==width-1)

   printf("設置:Esc");

    if(i==3&&j==width-1)

   printf("Copyright:王攀");

   }

   printf("\n");

 }

}

void movebul(int a[][N])

{

  int i,j;

  for(i=0;i<22;i++)

    for(j=0;j

    {

     if(i==0&&a[i][j]==2)

  a[i][j]=0;

   if(a[i][j]==2)

     {

       if(a[i-1][j]==3)

  score+=10,printf("\7");

       a[i][j]=0,a[i-1][j]=2;

     }

    }

}

void movepla(int a[][N])

{

  int i,j;

  for(i=21;i>=0;i--)//從最后一行往上是為了避免把敵機直接沖出數(shù)組。

    for(j=0;j

    {

      if(i==21&&a[i][j]==3)

   a[i][j]=0;//底行賦值0 以免越界。

      if(a[i][j]==3)

   a[i][j]=0,a[i+1][j]=3;

    }

  if(a[20][pl]==3&&a[21][pl]==1)

 death++;

}

void setting(void)

{

   int sw=0,i,j;

   system("cls");

   do{sw=0;printf("\n 游戲界面的大?。?.大2.小>> ");

   switch(getche())

   {

     case '1':

  width=34;

break;

     case '2':

  width=24;

break;

     default:

  printf("\n 錯誤,請重新選擇...\n");

     sw=1;

   }

  }

  while(sw);

  do

  {

   sw=0;

   printf("\n 請選擇敵機密度:1.大2.中3.小>> ");

   switch(getche())

   {

     case '0':

  density=10;

       break;

     case '1':

  density=20;

       break;

case '2':

  density=30;

       break;

case '3':

  density=40;

break;

     default:

  printf("\n 錯誤,請重新選擇...\n");

     sw=1;

   }

 }while(sw);

 do

 {

   sw=0;

   printf("\n 敵機的飛行速度:1.快2.中3.慢>> ");

   switch(getche())

   {

    case '1':

 speed=2;

     break;

    case '2':

  speed=3;

     break;

    case '3':

  speed=4;

     break;

    default:

  printf("\n 錯誤,請重新選擇...\n");

    sw=1;

  }

 }while(sw);

 for(i=0;i<22;i++)

   for(j=0;j<45;j++)

    scr[i][j]=0;

  scr[21][pl=9]=1;

  printf("\n 按任意鍵保存...");

  getch();

}

void menu(void)

{

  printf("說明:按A D 控制我機左右飛行,W 發(fā)射×××\n 設置:請按Esc\n 開始游戲:任意鍵\n                by yan_xu");

  if(getch()==27)

  setting();

}

以上是一篇C語言制作的小游戲飛機游戲的代碼

簡單的來說是由5個分函數(shù)組成的一個主函數(shù)然后通過這5個分函數(shù)來控制整個游戲的運行

下面是這個5個分函數(shù)分別簡單概要:

  1. void print(int [][N]);//輸出函數(shù)

    此函數(shù)是整個函數(shù)游戲的中心軸是函數(shù)的主心骨 定義

 所有的函數(shù)型號全部都是有輸出函數(shù)來定義的例如敵機的模型 我機的模型 ×××的模型之類的

 還有邊界的顯示

2.void movebul(int [][N]);//×××移動函數(shù)

 這個函數(shù)是控制×××移動的 他的原理相當?shù)暮唵?就是從下往上的一個for語句i——循環(huán)在與輸出函數(shù)相連接把模型換成×××的便可以 關鍵的是這句

 for(j=0;j

    {

     if(i==0&&a[i][j]==2)

  a[i][j]=0;

   if(a[i][j]==2)

     {

       if(a[i-1][j]==3)

  score+=10,printf("\7");

他是控制×××移動和加分的 當×××向上移動時原來的位置a[i][j]變成由print定義的0 及空格 而之后的位置則為a[i+1][j]坐標軸向上移動一位變成2及“.” 還有就是當位置與敵機位置縱坐標相差為1時敵機變?yōu)榭崭?score+10

3.void movepla(int [][N]);//敵機移動函數(shù)

同理與2相同唯一的區(qū)別為 death

4.void setting(void);//設置函數(shù)

設置函數(shù)由菜單函數(shù)的字符27 ESC 控制 按下ESC則進入

case“”控制界面大小 break; 直接進入下一選項

default 則是輸入與case“”無關選項后出現(xiàn)printf(“顯示錯誤”)

5.void menu(void);//菜單函數(shù)

最基本的見面由printf()getche 和if語句控制 簡單易懂

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前文章:C語言中的飛機游戲-創(chuàng)新互聯(lián)
分享URL:http://weahome.cn/article/ijhgh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部