1、计算机技术基础课程设计计算机技术基础课程设计 C C 语言语言 设计报告设计报告 题目:简单潜艇大战题目:简单潜艇大战 一、一、选题背景:选题背景: 随着人们生活水平的提高,人们对精神生活的要求也随 之提高了, 当然, 娱乐也成了人们生活中必不可少的一部分, 为此, 我用 C 语言编辑了一个简单的简单潜艇大战游戏程序。 它操作起来简单方便,运行速度快。 二、设计思想:二、设计思想: 简单潜艇大战就是玩家和电脑对战的游戏,玩家在确保 本身不被敌人击中的情况下击中敌人则得分,若被敌人击中 游戏结束。此程序利用了 if,for,while 等多种语句进行了 编译,而且多次使用了 for 语句进行了循
2、环,用 if 语句进 行操作,if 语句是用来处理条件选择的一种语句。此游戏可 以任意移动玩家的位置。 三、程序流程图三、程序流程图 (敌人在攻击范围之内) (玩家在攻击范围之内) 开始 图形初始化 判断是否攻击 敌人 玩家 敌人 若电脑中弹则玩家得分游戏继续,若玩家中弹则游戏结 判断是否攻击 玩家 否 否 四、程序清单四、程序清单 #include #include #include #include #define KEY_ESC 0x01 #define KEY_SPACE 0x39 #define KEY_LEFT 0x4b #define KEY_RIGHT 0x4d int spe
3、ed=10000; char key_state128,key_pressed128;/*键盘操作用的变量*/ int score=0;/*得分*/ char scorestr10;/*输出分数的变量*/ struct Fire/*子弹的结构体*/ int x; int y; int start;/*是否发射炮弹*/ amyfire6;/*屏幕上最多有 5 个敌人可以发子弹*/ struct Play/*玩家的结构体*/ int x; int y; struct Fire fire6; life; play; struct Amy/*敌人的结构体*/ int x; int y; int spe
4、ed;/*敌人的速度*/ int color; int direction; life; amy6; void InitGraph(void);/*图形初始化*/ void CloseGraph(void);/*图形结束*/ void GamePlay(void);/*具体玩游戏*/ void DrawPlay(void);/*画玩家*/ void DrawAmy(int i);/*画敌人*/ void DrawFire(int x,int y,int n);/*画子弹,0 去除,1 显示*/ void DrawAmyFire(int x,int y,int n);/*画子弹,0 去除,1 显示*/ void DrawBlack(int x,int y,int color);/*去除原来地方的物体*/ void PrScore();/*输出得分*/ int GetKey(int ScanCode);/*这里开始都是按键函数*/ void interrupt far (*OldInt9Ha