⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 设计文档.txt

📁 C++作业 完成一些简单的图形及其输入输出的功能 对于大学本科生做课程设计又很大帮助
💻 TXT
字号:
学生姓名:杨智猛   班级:00级计机四班 学号:200035003203212

设计送档:

    本程序为一坦克小游戏。

    编写主要分为五个部:
        一、地图编画与输出,运用了Map类。
        二、敌方坦克移动,运用了Tank类。
        三、己方坦克戈动,运用了Tank类的子类Player类。
        四、敌方坦克炮弹移动,运用了Missile类。
        五、己方坦克炮弹移动,运用了Missile类的子类Pmissile类。

    一、Map类
        构造函数Map():为默认构造函数。
        
        构造函数Map(char *FileName):为从载构造函数,用于打开己存在地图。
   
        公有函数:
     
        Display(char *FileName):用于建立并打地图数据SAVE地档案中,游戏中并不提供此功能,它只用于程序员编写程序。
   
        Refresh():用于输出地图。

	静态成员:
        map[81][26]:用于记录地图上各座标数据,作为静态成员配合类中的友类Missile可作数据交流之用。

    二、Tank 类
        构造函数:Tank(int x,int y)用于初始化敌方坦克的座标。
	
        公有成员:
        
        虚函数Move():用于判断坦克周围座标的权那个最大,并向该处移动。定义为虚函数是为了便于给Player类从载。

        虚函数Retake():用于从新对坦克座标库值,在游戏中作用为坦克战死后在新座标重新出现。

	数据成员:int X,Y 用于纪录坦克当前座标。

        保护成员:
         
        函数SetValue():用于计算每个座标的权,以便Move()函数判断。

        静态成员:int Value[81][26]用于纪录座标的权给每个坦克对象用。
                  int Tx,Ty 用于纪录目标座标给个个坦克对象用。

    三、Player类
      
        为Tank的子类。

        从载了Move()函数,改为用键盘输入己方坦克移动路径。

    四、Missile类

        构造函数Missile(int x,int y):用于初始化炮弹起始座标。

        公有成员:

        Running(Tank &s)虚函数:用于移动炮弹。定义为虚函数是为了供PMissle类继丞。

        Return(Tank &s)虚函数:用于当前一炮弹作用结束,初始下当前炮弹座。标定义为虚函数是为了供PMissle类继丞。

        ChangeMap(Tank &,Tank &):用于当炮弹对地图作出改变后,改变纪录在Value中的权。

        保护成员:
        
        int MX,MY:用于纪录炮弹当前座标。

        int D:用于纪录炮弹行坐成向。

        静护成员:

        static int Total:用于纪录己方被击中次数。

    五,PMissile类
   
        为Missile的子类。

        从载了ChangeMap,改变了修改Value的方法



    程序功能:

        作为娱乐的一种小游戏。

        编译后只有一个Game.exe档,执行时需要另加地图目录。即在game.exe的目录下必须与map\处在同一目录下。作业中包含的后缀为map的FILE就是放在map目录中。




    分析及讨论:

        由于编程技巧关系,本程序尚有许多地方有待改善,

        例如:须改为图形介面而不是用ASCLL码符号,使游戏介面欠缺美观。
              由于不懂得分线程,所以只好用WHILE包含所有须运行的函数以达到多线程的效果。
              由于使用了delay来降低游戏速度,以至游戏极有可能在不同速度的计算机上,有不同的效果。
              在坦克中弹时,程序并不能立即把残余在萤幕上的“*”清除。虽经过反复调试,改善仍然不大。
              在算法上出现许多无谓的从复,在编程技巧上还有待改善。
              不懂得消去萤幕上闪烁的光标。
              有须要进一步熟练C++,改善程序架构,以提高可读性及方便其他人进行维护。 
              

        最佳控作环境:DURON 700 、128M (本人所用) 
 
        若速度太慢可修改全局常量speed,数值越大速度越快,范围为1 至 35。             




 	
	
        
        

    


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -