美文网首页
CPP_Tank Game

CPP_Tank Game

作者: MagicalGuy | 来源:发表于2018-10-11 00:20 被阅读0次

    本项目所用的知识点有:
    C/C++:
    运算符相关,数组(一维,二维,多维),条件分支,循环,函数,继承,派生,运算符重载,纯虚函数,抽象类等,以及内存管理。
    数据结构:
    STL 库,A*算法

    开发环境:Windows10+VS2015+CPP

    实现功能:
    1.坦克可以随意移动,可以发射炮弹,炮弹发射后可以动向前移动。

    2.坦克在移动时判断碰撞条件,可被障物阻挡。

    3.游戏可暂停,可中途退出。

    4.炮弹发射可以摧毁部分物品及坦克

    5.可以让两个玩家协同作战( 可同时只接受一方操作) ,具有简单的计分功能

    6.敌军坦克有三种类型(血值、攻击力、速度不同),三种类型分别是0,1,2等级的坦克

    7.有关卡功能,地图难度不一样,可以让玩家闯关,一共四关

    8.可以按照预定义规则生成新敌军,敌军坦克有出生点

    9.有专门的地图编辑功能,可以让玩家定义地图。其中可以画钢墙土墙丛林河流等,还可以擦除,可以保存和退出到主菜单。

    10.中途游戏可以退出,可以暂停,可以保存游戏,等下次再玩。

    11.背景音乐

    12.AI 敌军坦克具有一定寻路能力,如A星寻路和简单的十字寻路

    13.游戏中还会出现随机五角星功能道具,红色加血加等级,蓝色减血降等级,黄色可以穿越河流。

    类的设计:


    image.png

    各个类的功能
    CAStar 实现A星寻路算法 CBaseObject 基本对象的虚基类,绘制和擦除
    CBulletObject 子弹类 实现子弹的移动和碰撞等
    CTankObject 坦克类 实现坦克的移动和碰撞等 CDrawObject 绘图类 画和擦除
    CMapObject 地图类 实现编辑,读取,保存地图等
    CGameObject 游戏类 执行玩家操作,读取,保存游戏等
    TangTank 程序主类main

    游戏主菜单

    image.png

    游戏中

    image.png

    双人作战

    image.png

    编辑地图

    image.png

    项目请见于:https://github.com/MagicalGuy

    相关文章

      网友评论

          本文标题:CPP_Tank Game

          本文链接:https://www.haomeiwen.com/subject/kkcyaftx.html