溫馨提示×

溫馨提示×

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

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

C語言如何實現(xiàn)空戰(zhàn)游戲

發(fā)布時間:2022-05-16 14:26:30 來源:億速云 閱讀:215 作者:iii 欄目:開發(fā)技術(shù)

本篇內(nèi)容介紹了“C語言如何實現(xiàn)空戰(zhàn)游戲”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細閱讀,能夠?qū)W有所成!

一、項目描述和成果展示

項目描述:   在以往的程序中進行了改進。
例如:   可以發(fā)射多個子彈
        可以有多個敵機

飛機大戰(zhàn) 1.0版
飛機大戰(zhàn) 2.0版

現(xiàn)在這個版本是3.0版 這個版本的各個功能基本完善

效果圖如下:

C語言如何實現(xiàn)空戰(zhàn)游戲

C語言如何實現(xiàn)空戰(zhàn)游戲

二、發(fā)射多個子彈

代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<Windows.h>

#define High 25 //游戲的尺寸
#define Width 50

//全局變量
int position_x,position_y;//飛機的位置
int canvas[High][Width]={0};
//二維數(shù)組存儲游戲畫布中對應(yīng)的元素
//0為空格 1為飛機  2為子彈  3為敵機

void gotoxy(int x,int y)//將光標移動到(x,y)位置
{
    HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X=x;
    pos.Y=y;
    SetConsoleCursorPosition(handle,pos);
}

void startup()//數(shù)據(jù)的初始化
{
    position_x=High/2;
    position_y=Width/2;
    canvas[position_x][position_y]=1;
}

void show()//顯示畫面
{
    int i,j;
    gotoxy(0,0);//將光標移動到原點位置,以下重畫清屏
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==0)
                printf(" ");//輸出空格
            else if(canvas[i][j]==1)
                printf("*");//輸出空格
            else if(canvas[i][j]==2)
                printf("|");//輸出子彈
        }
        printf("\n");
    }
}

void updateWithoutInput()//與用戶輸入無關(guān)的更新
{
    int i,j;
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==2)//子彈向上移動
            {
                canvas[i][j]=0;
                if(i>0)
                    canvas[i-1][j]=2;
            }
        }
    }
}

void updateWithInput()//與用戶輸入有關(guān)的更新
{
    char input;
    if(kbhit())//判斷是否有輸入
    {
        input=getch();//根據(jù)用戶的不同輸入來移動
        if(input=='a'||input=='A')
        {
            canvas[position_x][position_y]=0;
            position_y--;//位置左移
            canvas[position_x][position_y]=1;
        }
        else if(input=='d'||input=='D')
        {
            canvas[position_x][position_y]=0;
            position_y++;//位置右移
            canvas[position_x][position_y]=1;
        }
        else if(input=='w'||input=='W')
        {
            canvas[position_x][position_y]=0;
            position_x--;//位置上移
            canvas[position_x][position_y]=1;
        }
        else if(input=='s'||input=='S')
        {
            canvas[position_x][position_y]=0;
            position_x++;//位置下移
            canvas[position_x][position_y]=1;
        }
        else if(input==' ')//發(fā)射子彈
        {
            canvas[position_x-1][position_y]=2;
            //發(fā)射子彈的初始位置在飛機的正上方
        }
    }
}

int main()
{
    startup();//數(shù)據(jù)的初始化
    while(1)//游戲循環(huán)執(zhí)行
    {
        show();//顯示畫面
        updateWithoutInput();//與用戶輸入無關(guān)的更新
        updateWithInput();//與用戶輸入有關(guān)的更新
    }
    return 0;
}

效果圖如下:

C語言如何實現(xiàn)空戰(zhàn)游戲

三、多個敵機

代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<Windows.h>

#define High 25 //游戲的尺寸
#define Width 50
#define EnemyNum 5//敵機的個數(shù)

//全局變量
int position_x,position_y;//飛機的位置
int enemy_x[EnemyNum],enemy_y[EnemyNum];//敵機的位置
int canvas[High][Width]={0};
//二維數(shù)組存儲游戲畫布中對應(yīng)的元素
//0為空格 1為飛機  2為子彈  3為敵機
int score;//得分

void gotoxy(int x,int y)//將光標移動到(x,y)位置
{
    HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X=x;
    pos.Y=y;
    SetConsoleCursorPosition(handle,pos);
}

void startup()//數(shù)據(jù)的初始化
{
    int k;
    position_x=High-1;
    position_y=Width/2;
    canvas[position_x][position_y]=1;
    for(k=0;k<EnemyNum;k++)
    {
        enemy_x[k]=rand()%2;
        enemy_y[k]=rand()%Width;
        canvas[enemy_x[k]][enemy_y[k]]=3;
    }
    score=0;
}

void show()//顯示畫面
{
    int i,j;
    gotoxy(0,0);//將光標移動到原點位置,以下重畫清屏
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==0)
                printf(" ");//輸出空格
            else if(canvas[i][j]==1)
                printf("*");//輸出空格
            else if(canvas[i][j]==2)
                printf("|");//輸出子彈
            else if(canvas[i][j]==3)
                printf("+");//輸出敵機
        }
        printf("\n");
    }
    printf("得分:%3d\n",score);
    Sleep(20);
}

void updateWithoutInput()//與用戶輸入無關(guān)的更新
{
    int i,j,k;
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==2)//子彈向上移動
            {
                for(k=0;k<EnemyNum;k++)
                {
                    if( (i==enemy_x[k])&&(j==enemy_y[k]) )//子彈擊中敵機
                    {
                        score++;//分數(shù)加一
                        canvas[enemy_x[k]][enemy_y[k]]=0;
                        enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
                        enemy_y[k]=rand()%Width;
                        canvas[enemy_x[k]][enemy_y[k]]=3;
                        canvas[i][j]=0;//子彈消失
                    }
                }
                //子彈向上移動
                canvas[i][j]=0;
                if(i>0)
                canvas[i-1][j]=2;
            }
        }
    }
    for(k=0;k<EnemyNum;k++)
    {
        if( (position_x==enemy_x[k])&&(position_y==enemy_y[k]) )//敵機撞到我機
        {
            printf("失敗\n");
            Sleep(3000);
            system("pause");
            exit(0);
        }
        if(enemy_x[k]>High)//敵機跑出屏幕
        {
            canvas[enemy_x[k]][enemy_y[k]]=0;
            enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
            enemy_y[k]=rand()%Width;
            canvas[enemy_x[k]][enemy_y[k]]=3;
            score--;//減分
        }
        static int speed=0;
        if(speed<36)
            speed++;
        if(speed==36)
        {
            //敵機下落
            for(k=0;k<EnemyNum;k++)
            {
                canvas[enemy_x[k]][enemy_y[k]]=0;
                enemy_x[k]++;
                speed=0;
                canvas[enemy_x[k]][enemy_y[k]]=3;
            }
        }
    }
}

void updateWithInput()//與用戶輸入有關(guān)的更新
{
    char input;
    if(kbhit())//判斷是否有輸入
    {
        input=getch();//根據(jù)用戶的不同輸入來移動
        if(input=='a'||input=='A')
        {
            canvas[position_x][position_y]=0;
            position_y--;//位置左移
            canvas[position_x][position_y]=1;
        }
        else if(input=='d'||input=='D')
        {
            canvas[position_x][position_y]=0;
            position_y++;//位置右移
            canvas[position_x][position_y]=1;
        }
        else if(input=='w'||input=='W')
        {
            canvas[position_x][position_y]=0;
            position_x--;//位置上移
            canvas[position_x][position_y]=1;
        }
        else if(input=='s'||input=='S')
        {
            canvas[position_x][position_y]=0;
            position_x++;//位置下移
            canvas[position_x][position_y]=1;
        }
        else if(input==' ')//發(fā)射子彈
        {
            canvas[position_x-1][position_y]=2;
            //發(fā)射子彈的初始位置在飛機的正上方
        }
    }
}

int main()
{
    startup();//數(shù)據(jù)的初始化
    while(1)//游戲循環(huán)執(zhí)行
    {
        show();//顯示畫面
        updateWithoutInput();//與用戶輸入無關(guān)的更新
        updateWithInput();//與用戶輸入有關(guān)的更新
    }
    return 0;
}

效果圖如下:

C語言如何實現(xiàn)空戰(zhàn)游戲

四、增加子彈升級功能

當分數(shù)達到一定的值自動升級炮彈,當分數(shù)下降一定數(shù)值后炮彈下降一個等級。

代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<Windows.h>

#define High 25 //游戲的尺寸
#define Width 40
#define EnemyNum 5//敵機的個數(shù)

//全局變量
int position_x,position_y;//飛機的位置
int enemy_x[EnemyNum],enemy_y[EnemyNum];//敵機的位置
int canvas[High][Width]={0};
//二維數(shù)組存儲游戲畫布中對應(yīng)的元素
//0為空格 1為飛機  2為子彈  3為敵機

int score;//得分
int BulletWidth;//子彈的寬度
int EnemyMoveSpeed;//敵機的移動速度

void gotoxy(int x,int y)//將光標移動到(x,y)位置
{
    HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X=x;
    pos.Y=y;
    SetConsoleCursorPosition(handle,pos);
}

void startup()//數(shù)據(jù)的初始化
{
    int k;
    position_x=High-1;
    position_y=Width/2;
    canvas[position_x][position_y]=1;
    for(k=0;k<EnemyNum;k++)
    {
        enemy_x[k]=rand()%2;
        enemy_y[k]=rand()%Width;
        canvas[enemy_x[k]][enemy_y[k]]=3;
    }
    score=0;
    BulletWidth=0;
    EnemyMoveSpeed=20;
}

void show()//顯示畫面
{
    int i,j;
    gotoxy(0,0);//將光標移動到原點位置,以下重畫清屏
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==0)
                printf(" ");//輸出空格
            else if(canvas[i][j]==1)
                printf("*");//輸出空格
            else if(canvas[i][j]==2)
                printf("|");//輸出子彈
            else if(canvas[i][j]==3)
                printf("+");//輸出敵機
        }
        printf("\n");
    }
    printf("════════════════════════════════════════\n");
    printf("得分:%3d\n",score);
    system("date /t");
    system("time /t");
    Sleep(20);
}

//定義隱藏光標函數(shù)
void HideCursor()
{
    CONSOLE_CURSOR_INFO cursor;    
    cursor.bVisible = FALSE;    
    cursor.dwSize = sizeof(cursor);    
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);    
    SetConsoleCursorInfo(handle, &cursor);
}

void updateWithoutInput()//與用戶輸入無關(guān)的更新
{
    int i,j,k;
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==2)//子彈向上移動
            {
                for(k=0;k<EnemyNum;k++)
                {
                    if( (i-1==enemy_x[k])&&(j==enemy_y[k]) )//子彈擊中敵機
                    {
                        score++;//分數(shù)加一
                        if(score%5==0&&EnemyMoveSpeed>3)//達到一定積分后敵機變快
                            EnemyMoveSpeed--;
                        if(score/5)//達到一定積分后子彈變厲害
                        {
                            BulletWidth=0;
                            BulletWidth=BulletWidth+score/5;
                            if(BulletWidth>5)//子彈加到一定威力后,會固定不變
                                BulletWidth=5;
                        }
                        canvas[enemy_x[k]][enemy_y[k]]=0;
                        enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
                        enemy_y[k]=rand()%Width;
                        canvas[enemy_x[k]][enemy_y[k]]=3;
                        canvas[i][j]=0;//子彈消失
                    }
                }
                //子彈向上移動
                canvas[i][j]=0;
                if(i>0)
                canvas[i-1][j]=2;
            }
        }
    }
    for(k=0;k<EnemyNum;k++)
    {
        if( (position_x==enemy_x[k])&&(position_y==enemy_y[k]) )//敵機撞到我機
        {
            printf("失敗\n");
            Sleep(3000);
            system("pause");
            exit(0);
        }
        if(enemy_x[k]>High)//敵機跑出屏幕
        {
            canvas[enemy_x[k]][enemy_y[k]]=0;
            enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
            enemy_y[k]=rand()%Width;
            canvas[enemy_x[k]][enemy_y[k]]=3;
            score--;//減分
            if(score%5==0&&score>0)//減的分數(shù)過多,子彈威力下降
            {
                BulletWidth--;
                EnemyMoveSpeed++;
            }
        }
        static int speed=0;
        if(speed<EnemyMoveSpeed)
            speed++;
        if(speed==EnemyMoveSpeed)
        {
            //敵機下落
            for(k=0;k<EnemyNum;k++)
            {
                canvas[enemy_x[k]][enemy_y[k]]=0;
                enemy_x[k]++;
                speed=0;
                canvas[enemy_x[k]][enemy_y[k]]=3;
            }
        }
    }
}

void updateWithInput()//與用戶輸入有關(guān)的更新
{
    char input;
    if(kbhit())//判斷是否有輸入
    {
        input=getch();//根據(jù)用戶的不同輸入來移動
        if(input=='a'||input=='A')
        {
            canvas[position_x][position_y]=0;
            position_y--;//位置左移
            if(position_y==0)
                position_y++;
            canvas[position_x][position_y]=1;
        }
        else if(input=='d'||input=='D')
        {
            canvas[position_x][position_y]=0;
            position_y++;//位置右移
            if(position_y==Width-1)
                position_y--;
            canvas[position_x][position_y]=1;
        }
        else if(input=='w'||input=='W')
        {
            canvas[position_x][position_y]=0;
            position_x--;//位置上移
            if(position_x==0)
                position_x++;
            canvas[position_x][position_y]=1;
        }
        else if(input=='s'||input=='S')
        {
            canvas[position_x][position_y]=0;
            position_x++;//位置下移
            if(position_x==High)
                position_x--;
            canvas[position_x][position_y]=1;
        }
        else if(input==' ')//發(fā)射子彈
        {
            int left =position_y-BulletWidth;
            int right=position_y+BulletWidth;
            if(left<0)
                left=0;
            if(right>Width-1)
                right=Width-1;
            int k;
            for(k=left;k<=right;k++)//發(fā)射子彈
            canvas[position_x-1][k]=2;
            //發(fā)射子彈的初始位置在飛機的正上方
        }
    }
}

int main()
{
    startup();//數(shù)據(jù)的初始化
    HideCursor();
    system("title 游戲中");
    system("color 09");
    while(1)//游戲循環(huán)執(zhí)行
    {
        show();//顯示畫面
        updateWithoutInput();//與用戶輸入無關(guān)的更新
        updateWithInput();//與用戶輸入有關(guān)的更新
    }
    return 0;
}

效果圖如下:

C語言如何實現(xiàn)空戰(zhàn)游戲

五、增加一些小功能

增加一個主菜單
里面增加了一些小的功能

代碼如下:

#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<Windows.h>

#define High 25 //游戲的尺寸
#define Width 40
#define EnemyNum 5//敵機的個數(shù)

//全局變量
int position_x,position_y;//飛機的位置
int enemy_x[EnemyNum],enemy_y[EnemyNum];//敵機的位置
int canvas[High][Width]={0};
//二維數(shù)組存儲游戲畫布中對應(yīng)的元素
//0為空格 1為飛機  2為子彈  3為敵機

int score;//得分
int BulletWidth;//子彈的寬度
int EnemyMoveSpeed;//敵機的移動速度

void gotoxy(int x,int y)//將光標移動到(x,y)位置
{
    HANDLE handle=GetStdHandle(STD_OUTPUT_HANDLE);
    COORD pos;
    pos.X=x;
    pos.Y=y;
    SetConsoleCursorPosition(handle,pos);
}

void startup()//數(shù)據(jù)的初始化
{
    int k;
    position_x=High-1;
    position_y=Width/2;
    canvas[position_x][position_y]=1;
    for(k=0;k<EnemyNum;k++)
    {
        enemy_x[k]=rand()%2;
        enemy_y[k]=rand()%Width;
        canvas[enemy_x[k]][enemy_y[k]]=3;
    }
    score=0;
    BulletWidth=0;
    EnemyMoveSpeed=20;
}

void show()//顯示畫面
{
    int i,j;
    gotoxy(0,0);//將光標移動到原點位置,以下重畫清屏
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==0)
                printf(" ");//輸出空格
            else if(canvas[i][j]==1)
                printf("*");//輸出空格
            else if(canvas[i][j]==2)
                printf("|");//輸出子彈
            else if(canvas[i][j]==3)
                printf("+");//輸出敵機
        }
        printf("\n");
    }
    printf("════════════════════════════════════════\n");
    printf("得分:%3d\n",score);
    system("date /t");
    system("time /t");
    printf("提示:按 z 鍵回到主菜單");
    Sleep(20);
}

//定義隱藏光標函數(shù)
void HideCursor()
{
    CONSOLE_CURSOR_INFO cursor;    
    cursor.bVisible = FALSE;    
    cursor.dwSize = sizeof(cursor);    
    HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);    
    SetConsoleCursorInfo(handle, &cursor);
}

int updateWithoutInput()//與用戶輸入無關(guān)的更新
{
    int i,j,k;
    for(i=0;i<High;i++)
    {
        for(j=0;j<Width;j++)
        {
            if(canvas[i][j]==2)//子彈向上移動
            {
                for(k=0;k<EnemyNum;k++)
                {
                    if( (i-1==enemy_x[k])&&(j==enemy_y[k]) )//子彈擊中敵機
                    {
                        score++;//分數(shù)加一
                        if(score%5==0&&EnemyMoveSpeed>3)//達到一定積分后敵機變快
                            EnemyMoveSpeed--;
                        if(score/5)//達到一定積分后子彈變厲害
                        {
                            BulletWidth=0;
                            BulletWidth=BulletWidth+score/5;
                            if(BulletWidth>5)//子彈加到一定威力后,會固定不變
                                BulletWidth=5;
                        }
                        canvas[enemy_x[k]][enemy_y[k]]=0;
                        enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
                        enemy_y[k]=rand()%Width;
                        canvas[enemy_x[k]][enemy_y[k]]=3;
                        canvas[i][j]=0;//子彈消失
                    }
                }
                //子彈向上移動
                canvas[i][j]=0;
                if(i>0)
                canvas[i-1][j]=2;
            }
        }
    }
    for(k=0;k<EnemyNum;k++)
    {
        if( (position_x==enemy_x[k])&&(position_y==enemy_y[k]) )//敵機撞到我機
        {
            system("cls");
            printf("失敗\n");
            printf("得分:%d\n",score);
            printf("正在返回主菜單\n");
            Sleep(3000);
            return 1;
        }
        if(enemy_x[k]>High)//敵機跑出屏幕
        {
            canvas[enemy_x[k]][enemy_y[k]]=0;
            enemy_x[k]=rand()%2;//產(chǎn)生新的飛機
            enemy_y[k]=rand()%Width;
            canvas[enemy_x[k]][enemy_y[k]]=3;
            score--;//減分
            if(score%5==0&&score>0)//減的分數(shù)過多,子彈威力下降
            {
                BulletWidth--;
                EnemyMoveSpeed++;
            }
        }
        static int speed=0;
        if(speed<EnemyMoveSpeed)
            speed++;
        if(speed==EnemyMoveSpeed)
        {
            //敵機下落
            for(k=0;k<EnemyNum;k++)
            {
                canvas[enemy_x[k]][enemy_y[k]]=0;
                enemy_x[k]++;
                speed=0;
                canvas[enemy_x[k]][enemy_y[k]]=3;
            }
        }
    }
    return 0;
}

void updateWithInput(char input)//與用戶輸入有關(guān)的更新
{
        if(input=='a'||input=='A')
        {
            canvas[position_x][position_y]=0;
            position_y--;//位置左移
            if(position_y==0)
                position_y++;
            canvas[position_x][position_y]=1;
        }
        else if(input=='d'||input=='D')
        {
            canvas[position_x][position_y]=0;
            position_y++;//位置右移
            if(position_y==Width-1)
                position_y--;
            canvas[position_x][position_y]=1;
        }
        else if(input=='w'||input=='W')
        {
            canvas[position_x][position_y]=0;
            position_x--;//位置上移
            if(position_x==0)
                position_x++;
            canvas[position_x][position_y]=1;
        }
        else if(input=='s'||input=='S')
        {
            canvas[position_x][position_y]=0;
            position_x++;//位置下移
            if(position_x==High)
                position_x--;
            canvas[position_x][position_y]=1;
        }
        else if(input==' ')//發(fā)射子彈
        {
            int left =position_y-BulletWidth;
            int right=position_y+BulletWidth;
            if(left<0)
                left=0;
            if(right>Width-1)
                right=Width-1;
            int k;
            for(k=left;k<=right;k++)//發(fā)射子彈
            canvas[position_x-1][k]=2;
            //發(fā)射子彈的初始位置在飛機的正上方
        }
}

void gamemenu()//游戲菜單
{
    int temp=0;
    int i,j;
    char input;
    for(i=0;i<High;i++)//數(shù)組初始化
    {
        for(j=0;j<Width;j++)
        {
            canvas[i][j]=0;
        }
        printf("\n");
    }
    startup();//數(shù)據(jù)的初始化
    system("cls");
    while(1)
    {
        show();//顯示畫面
        temp=updateWithoutInput();//與用戶輸入無關(guān)的更新
        if(kbhit())//判斷是否有輸入
        {
            input=getch();
            updateWithInput(input);//與用戶輸入有關(guān)的更新
            if(input=='z'||input=='Z')
                temp=1;
        }
        if(temp==1)
        {
            system("cls");
            break;
        }
    }
}
void help()//幫助菜單
{
    char input;
    system("cls");
    printf("\n\n\n\n\n\n\n\n");
    printf("---------------------------------------\n");
    printf("                 幫助菜單                \n\n");
    printf("      1. 按空格發(fā)射炮彈                 \n");
    printf("      2. a 鍵左移                      \n");
    printf("      3. d 鍵右移                      \n");
    printf("      4. w 鍵上移                      \n");
    printf("      5. s 鍵下移                      \n");
    printf("---------------------------------------\n");
    printf("\n\n提示:按 z 鍵回到主菜單\n");
    printf("\n\n               祝您玩的愉快!\n");
    while(1)
    {
        input=getch();
        if(input=='z')
        {
            break;
        }
    }
}
void quit()//退出菜單
{
    exit(0);
}

void menu()//主菜單
{
    char change;
    system("cls");
    printf("\n--------------------------------------------\n");
    printf("                   8\n");
    printf("                   88\n"); 
    printf("                    888\n");
    printf("                     8888\n");
    printf("                  8888888888888\n");
    printf("                     8888\n");
    printf("                    888\n");
    printf("                   88\n");
    printf("                   8\n");
    printf("\n\n\n               Welcome to fly war!\n");
    printf("\n\n\n\n");
    printf("                 主菜單                \n\n"); 
    printf("      1. 進入游戲                 \n");
    printf("      2. 幫助菜單                      \n");
    printf("      3. 退出游戲                      \n");
    printf("---------------------------------------\n");
    printf("\n\n               祝您玩的愉快!\n");
    change=getch();
    switch(change)
    {
    case '1':
        gamemenu();//游戲菜單
        break;
    case '2':
        help();//幫助菜單
        break;
    case '3':
        quit();//退出菜單
        break;      
    }
}
int main()
{
    HideCursor();
    system("title 游戲中");
    system("color 09");
    system("mode 50,30");
    while(1)//游戲循環(huán)執(zhí)行
    {
        menu();
    }
    return 0;
}

效果圖如下:

C語言如何實現(xiàn)空戰(zhàn)游戲

C語言如何實現(xiàn)空戰(zhàn)游戲

“C語言如何實現(xiàn)空戰(zhàn)游戲”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

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

AI