广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C语言实现简单的飞机大战游戏
  • 248
分享到

C语言实现简单的飞机大战游戏

2024-04-02 19:04:59 248人浏览 薄情痞子
摘要

目录一、项目描述和最终的成果展示二、输出一个飞机模型三、实现控制飞机移动的功能四、添加发射激光功能五、添加靶子和分数统计功能本文实例为大家分享了C语言实现简单飞机大战游戏的具体代码,

本文实例为大家分享了C语言实现简单飞机大战游戏的具体代码,供大家参考,具体内容如下

一、项目描述和最终的成果展示

项目描述: 显示出一个飞机,并可以控制移动,发出激光,打靶练习。

效果展示:

二、输出一个飞机模型

先输出一个飞机模型。后面再进一步完成控制飞机的功能。

代码如下:

//输出飞机图案
#include<stdio.h>
#include<stdlib.h>
#include<coNIO.h>
int main(void)
{
        int i,j;
        int x=10;
        int y=10;
        char input;

        //输出飞机上面的空行
        for(i=0;i<x;i++)
        {
            printf("\n");
        }

        //输出飞机左边的空格
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("  *\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("*****\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf(" * * \n");    
    return 0;
}

效果图如下:

三、实现控制飞机移动的功能

用scanf()函数来实现控制飞机移动的功能

代码如下:

#include<stdio.h>
#include<stdlib.h>
//用scanf来完成飞机的移动
int main(void)
{
    int i,j;
    int x=5;
    int y=10;
    char input;

    while(1)
    {
        system("cls");
        //输出飞机上面的空行
        for(i=0;i<x;i++)
        {
            printf("\n");
        }

        //输出飞机左边的空格
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("  *\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("*****\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf(" * * \n");
        scanf("%c",&input);
        if(input == 'a' || input == 'A')
        {
            y--;
        }
        if(input == 'd' || input == 'D')
        {
            y++;
        }
        if(input == 'w' || input == 'W')
        {
            x--;
        }
        if(input == 's' || input == 'S')
        {
            x++;
        }
    }
    return 0;
}

效果图如下:

你会发现一个弊端 就是它会显示你输入了啥,这样是特别的不友好的。
所以我们要用 getch() 这个函数, 它是不会显示回显的。即,不会出现我们输入的是啥。
这样就很好了,达到了我们的目的。

用getch()函数来实现控制飞机移动的功能

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//用scanf来完成飞机的移动
int main(void)
{
    int i,j;
    int x=5;
    int y=10;
    char input;

    while(1)
    {
        system("cls");
        //输出飞机上面的空行
        for(i=0;i<x;i++)
        {
            printf("\n");
        }

        //输出飞机左边的空格
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("  *\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("*****\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf(" * * \n");
        input=getch();
        if(input == 'a' || input == 'A')
        {
            y--;
        }
        if(input == 'd' || input == 'D')
        {
            y++;
        }
        if(input == 'w' || input == 'W')
        {
            x--;
        }
        if(input == 's' || input == 'S')
        {
            x++;
        }
    }
    return 0;
}

效果图如下:

四、添加发射激光功能

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
//用getch来完成飞机的移动
int main(void)
{
    int i,j;
    int x=10;
    int y=10;
    char input;
    int isFire=0;//用来判断是否发射

    while(1)
    {
        if(isFire == 0)
        {
            //输出飞机上面的空行
            for(i=0;i<x;i++)
                printf("\n");
        }
        else
        {
            for(i=0;i<x;i++)
            {
                for(j=0;j<y;j++)
                    printf(" ");
                printf("  |\n");
            }
            isFire = 0;
        }


        //输出飞机左边的空格
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("  *\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("*****\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf(" * * \n");
        input=getch();
        fflush(stdin);
        system("cls");
        if(input == 'a' || input == 'A')
        {
            y--;
        }
        if(input == 'd' || input == 'D')
        {
            y++;
        }
        if(input == 'w' || input == 'W')
        {
            x--;
        }
        if(input == 's' || input == 'S')
        {
            x++;
        }
        if( input == ' ')
            isFire = 1;
    }
    return 0;
}

效果图如下:

五、添加靶子和分数统计功能

代码如下:

#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<time.h>
#include<conio.h>
//用getch来完成飞机的移动
int main(void)
{
    int i,j;
    int x=10;
    int y=10;
    char input;
    int isFire=0;//用来判断是否发射
    int score=10;

    int ny = 30;        //  靶子的位置
    int isKilled = 0; //判断是否击中
    int yanshi=0;    //  延时靶子的时间
    system("color 09");

    while(1)
    {
        if(yanshi<66)//延时 让靶子显示
        {
            yanshi++;
        }
        else
        {
            srand(time(0));
            ny=rand()%80+5;
            yanshi=0;
        }
        printf("分数:%d\n",score);
        if(!isKilled)//没有击中靶子,继续显示靶子
        {
            for(j=0;j<ny;j++)
            {
                printf(" ");
            }
            printf("▼\n");
        }
        else//说明击中靶子,刷新靶子
        {
            yanshi=66;
            isKilled=0;
        }

        if(isFire == 0)
        {
            //输出飞机上面的空行
            for(i=0;i<x;i++)
                printf("\n");
        }
        else//开火
        {
            for(i=0;i<x;i++)
            {
                for(j=0;j<y;j++)
                    printf(" ");
                printf("  |\n");
            }
            isFire = 0;
        }


        //输出飞机左边的空格
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("  *\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf("*****\n");
        for(j=0;j<y;j++)
        {
            printf(" ");
        }
        printf(" * * \n");
        input=getch();
        fflush(stdin);
        system("cls");
        if(input == 'a' || input == 'A')
        {
            y--;
        }
        if(input == 'd' || input == 'D')
        {
            y++;
        }
        if(input == 'w' || input == 'W')
        {
            x--;
        }
        if(input == 's' || input == 'S')
        {
            x++;
        }
        if( input == ' ')
            isFire = 1;
        if( (ny==y+2) && (input==' ') )//判断是否击中靶子
        {
            isKilled=1;
            score=score+5;//分数增加
        }
    }
    return 0;
}

效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C语言实现简单的飞机大战游戏

本文链接: https://www.lsjlt.com/news/148901.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C语言实现简单的飞机大战游戏
    目录一、项目描述和最终的成果展示二、输出一个飞机模型三、实现控制飞机移动的功能四、添加发射激光功能五、添加靶子和分数统计功能本文实例为大家分享了C语言实现简单飞机大战游戏的具体代码,...
    99+
    2022-11-13
  • C语言实现飞机大战小游戏
    本文实例为大家分享了C语言实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 技术原型 1、void gotoxy(int x, int y) 函数,该函数可以使光标去到(x,y...
    99+
    2022-11-13
  • python实现简单的飞机大战游戏
    本文实例为大家分享了python实现飞机大战游戏的具体代码,供大家参考,具体内容如下 1、准备环境 下载python(这里建议不需要安装最新的,好像pygame还没有对3.8支持的包...
    99+
    2022-11-11
  • python实现简单飞机大战小游戏
    为了熟悉Python基础语法,学习了一个经典的案例:飞机大战,最后实现效果如下: 实现步骤: ①下载64位对应python版本的pygame:pygame-1.9.6-cp38-c...
    99+
    2022-11-11
  • javascript实现简单飞机大战小游戏
    本文实例为大家分享了javascript实现飞机大战小游戏的具体代码,供大家参考,具体内容如下 效果图 html文件 <!DOCTYPE html> <html ...
    99+
    2022-11-13
  • C++实现飞机大战游戏
    本文实例为大家分享了C++实现飞机大战游戏的具体代码,供大家参考,具体内容如下 代码是单线程执行,无界面,(博主下一步学习QT之后融入)还有待改进。先放张界面图: 话不多说 上...
    99+
    2022-11-13
  • C语言实现飞机大战小游戏完整代码
     大一课设做的飞机大战,可以进行登入和注册,这个是利用单链表做的,源代码已经给出,这个是最基本的飞机大战模式,我设置了几个功能,比如排行榜之类的。排行榜是用结构体数组做的,...
    99+
    2022-11-13
  • C语言用封装方法实现飞机大战游戏
    目录一、项目描述和最终的成果展示二、用函数进行封装三、新型的发射子弹功能四、实现移动的敌机功能和更正屏幕闪烁,清除光标功能五、订正一些BUG和完成一些美化本文实例为大家分享了C语言用...
    99+
    2022-11-13
  • Java实现简单的飞机大战游戏(控制主飞机篇)
    本文实例为大家分享了Java实现简单的飞机大战游戏,控制主飞机的具体代码,供大家参考,具体内容如下 接着上一篇:Java实现简单的飞机大战游戏(敌机下落篇),首先我们需要明白,在控制...
    99+
    2022-11-13
  • 利用C语言实现一个最简单的飞机游戏
    目录前言一、利用scanf控制飞机移动二、getch控制飞机移动三、显示复杂的飞机图案四、发射激光五、打靶练习前言 在前面弹跳小球的基础上实现一个简单的飞机游戏,主要包括飞机的显示、...
    99+
    2022-11-13
  • C语言实现飞机大战
    本文实例为大家分享了C语言实现飞机大战的具体代码,供大家参考,具体内容如下 #include<stdio.h> #include<stdlib.h> #in...
    99+
    2022-11-13
  • Java实现简单的飞机大战游戏(敌机下落篇)
    本文实例为大家分享了Java实现简单飞机大战游戏,敌机下落的具体代码,供大家参考,具体内容如下 在实现这个游戏之前,我们首先需要知道项目可能要用到哪些知识点: 重绘,线程,双缓冲,数...
    99+
    2022-11-13
  • C语言怎么用封装方法实现飞机大战游戏
    本文小编为大家详细介绍“C语言怎么用封装方法实现飞机大战游戏”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言怎么用封装方法实现飞机大战游戏”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、项目描述和最终的成...
    99+
    2023-06-30
  • C语言实现飞机游戏(1)
    本文实例为大家分享了C语言实现飞机游戏的具体代码,供大家参考,具体内容如下 本节我们将在上一节 弹跳小球 实现基础上完成简单的飞机游戏。 scanf 控制飞机移动 我们可以使用 sc...
    99+
    2022-11-13
  • C语言实现飞机游戏(2)
    本文实例为大家分享了C语言实现飞机游戏的具体实现代码,供大家参考,具体内容如下 本节我们将在上一节的基础上对飞机游戏进行改造完善。 基本框架 从本节起,为了避免把所有代码都放进mai...
    99+
    2022-11-13
  • JavaScript实现飞机大战游戏
    本文实例为大家分享了canvas ,js 实现一个简单的飞机大战,供大家参考,具体内容如下 预览图: 代码: <!DOCTYPE html> <html>...
    99+
    2022-11-12
  • java实现飞机大战游戏
    java实现飞机大战,供大家参考,具体内容如下 用Java写个飞机大战游戏练习一下,实现可播放游戏背景音乐和游戏的基本功能 设计 1、准备好相应的图片和背景音乐(.wav文件); 2...
    99+
    2022-11-11
  • jQuery实现飞机大战游戏
    目录一、效果图二、核心代码1.创建地图  2.用户选择飞机界面3.设置背景循环4.创建飞机5.创建敌机6.敌机移动7.设置敌机爆炸8.创建子弹9.检测子弹的移动(...
    99+
    2022-11-13
  • C语言怎么实现飞机游戏
    这篇“C语言怎么实现飞机游戏”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C语言怎么实现飞机游戏”文章吧。scanf 控制飞...
    99+
    2023-06-30
  • C语言如何实现飞机大战
    本文小编为大家详细介绍“C语言如何实现飞机大战”,内容详细,步骤清晰,细节处理妥当,希望这篇“C语言如何实现飞机大战”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。具体代码如下#include<stdio.h...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作