计算机技术基础课程设计

C语言

设计报告

题目:简单潜艇大战

选题背景:

随着人们生活水平的提高,人们对精神生活的要求也随之提高了,当然,娱乐也成了人们生活中必不可少的一部分,为此,我用C语言编辑了一个简单的简单潜艇大战游戏程序。它操作起来简单方便,运行速度快。

二、设计思想:

简单潜艇大战就是玩家和电脑对战的游戏,玩家在确保本身不被敌人击中的情况下击中敌人则得分,若被敌人击中游戏结束。此程序利用了if,for,while等多种语句进行了编译,而且多次使用了for语句进行了循环,用if语句进行操作,if语句是用来处理条件选择的一种语句。此游戏可以任意移动玩家的位置。

三、程序流程图

结束若电脑中弹则玩家得分游戏继续,若玩家中弹则游戏结束图形初始化开始

结束

若电脑中弹则玩家得分游戏继续,若玩家中弹则游戏结束

图形初始化

开始

玩家敌人

玩家

敌人

判断是否攻击敌人判断是否攻击玩家

判断是否攻击敌人

判断是否攻击玩家

(敌人在攻击范围之内) (玩家在攻击范围之内)

四、程序清单

#include #include #include #include #define KEY_ESC 0x01#define KEY_SPACE 0x39#define KEY_LEFT 0x4b#define KEY_RIGHT 0x4dint speed=10000;char key_state[128],key_pressed[128];/*键盘操作用的变量*/int score=0;/*得分*/char scorestr[10];/*输出分数的变量*/struct Fire/*子弹的结构体*/{?int x;?int y;?int start;/*是否发射炮弹*/}amyfire[6];/*屏幕上最多有5个敌人可以发子弹*/struct Play/*玩家的结构体*/{?int x;?int y;?struct Fire fire[6];?life;}play;struct Amy/*敌人的结构体*/{?int x;?int y;?int speed;/*敌人的速度*/?int color;?int direction;?life;}amy[6];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 (*OldInt9Handler)();void far interrupt NewInt9();void InstallKeyboard();void ShutDownKeyboard();void main(void){?InitGraph();/*图形初始化*/?GamePlay();/*具体玩游戏*/?CloseGraph();/*图形结束*/}void InitGraph(void)/*图形初始化*/{?int gd=DETECT,gm;?initgraph(&gd,&gm,"c:\\tc");?cleardevice();?InstallKeyboard();}void DrawPlay(void)/*画玩家*/{?setfillstyle(SOLID_FILL,6);?bar(play.x-20,play.y-10,play.x+20,play.y);?setfillstyle(SOLID_FILL,4);?bar(play.x-20,play.y-10,play.x-10,play.y);}void DrawAmy(int i)/*画敌人*/{?setfillstyle(SOLID_FILL,amy[i].color);?bar(amy[i].x-20,

潜艇大战c语言实验报告,计算机技术基础(c语言)课程设计-潜艇大战.doc相关推荐

  1. C语言实验报告计算成绩,c语言实验报告--学生成绩管理系统.doc

    c语言实验报告--学生成绩管理系统.doc XX大学CSUC语言程序设计实践报告题目学生成绩管理系统学生姓名剽悍的小白兔指导教师TZ学院信息科学与工程学院专业班级电气信息类XXXX班完成时间20XX年 ...

  2. c语言实验报告5数组,c语言实验报告五一维数组.doc

    c语言实验报告五一维数组 <C程序设计>课程实验报告 学院: 班级: 姓名: 学号: 实验设备:计算机1台2011年3月1日 实验项目名称一维数组 掌握一维数组的定义.初始化,以及一维数组 ...

  3. c语言实验报告熟悉vc,C语言实验报告源代码

    C语言实验报告源代码 1.问题描述:计算三个整数12*34*56的积,得出正确的结果,并能通过此实验熟悉vc6.0的操作环境: 源程序及注释: # include void main() /*求三个数 ...

  4. C语言实验报告册-20163a,c语言实验报告册-20163a.doc

    c语言实验报告册-20163a.doc 学生实验报告册(理工类)课程名称:C语言程序设计实验专业班级:15自动化2班学生学号:1517011063学生姓名:王启涛所属院部:智能科学与控制工程学院指导教 ...

  5. 类c语言实验报告,内蒙古工业大学 C语言实验报告

    <内蒙古工业大学 C语言实验报告>由会员分享,可在线阅读,更多相关<内蒙古工业大学 C语言实验报告(10页珍藏版)>请在人人文库网上搜索. 1.内蒙古工业大学信息工程学院内蒙古 ...

  6. 大一C语言实验报告九江学院,九江学院C语言实验报告及答案-资源下载人人文库网...

    九江学院 C语言实验报告及答案 高级语言程序设计实验指导学 院:信息科学与技术学院专 业:信息管理与信息系统 学 期:20112012学年第二学期教 师: 目录实验1 熟悉C语言程序开发环境11.1 ...

  7. C语言实验报告册-20163a,C语言实验报告册20163a-资源下载人人文库网

    C语言实验报告册 20163a 金陂科扶暑院学生实验报告册(理工类)课程名称:C语言程序设计实验 专业班级:15自动化2班学生学号:1517011063学生姓名: 王启涛所属院部:智能科学与控制工程学 ...

  8. C语言实验报告二模板,C语言实验报告模板

    left=m; }else if(a[m]>num) { right=m; } else { printf(\的位置是%d\\n\ break; } Step13:考虑到不合法的问题if(lef ...

  9. 四川大学c语言实验报告,四川大学-C语言程序设计精品课程申报网站

    二.知识模块顺序及对应的学时 C语言程序设计主要的内容包括: C语言的各种数据类型.运算符.表达式:结构化程序设计语句:函数的概念和用法:编译预处理命令:位运算:文件的操作:算法的基本表示方法及结构化 ...

最新文章

  1. 博士毕业后,想继续科研,想进高校任教,需要什么条件呢?
  2. 安卓高手之路之图形系统(6)requestLayout的流程
  3. 前端学习(3217):prop的基本使用
  4. pythonwrite连续写入_python文件写入write()的操作
  5. oracle varchar2转date_5分钟学会精算师常用Oracle语句
  6. phpStudy配置站点 解决You don't have permission to access / on this server
  7. Android6.0之AMS如何启动app中篇之Task的管理
  8. ShadowGun之Shader分析
  9. .kux转mp4文件
  10. YARN学习总结-第九节-YARN-Web-App-Proxy
  11. IDEA代码和页面前进后退快捷键
  12. Android自动接听来电并录音
  13. MapReduce算法(将数据按照 /OutputData/城市名称/日期(YYYY-MM-dd)/类型(固定Gn)/imsi.txt )
  14. Python数据结构与算法题目 打印二叉树的左视图 打印二叉树的右视图 树的左视图 树的右视图
  15. 单条视频播放量破2000w,一首《孤勇者》就能盘活一个账号?
  16. Centos7 源码安装 Apache
  17. linux进程挂掉 自动启动,配置systemd以在Linux崩溃后自动启动服务
  18. 激光雷达标定(坐标系转换)
  19. EtherCAT的从站配置
  20. 2019春第七周作业

热门文章

  1. 已知两点经纬度坐标(大地坐标)计算方位角
  2. java io教学文件_通过代码实例跟我学Java语言程序设计及应用技术——Java文件IO技术及应用相关的教学示例(第3部分)...
  3. Qt 绘图坐标系转换
  4. it转正述职报告_it行业试用期转正工作总结
  5. 数据处理:应用Savitzky-Golay算法对数据进行平滑化处理
  6. python 类的定制_Python基础:20类的定制
  7. 热——机耦合分析实例
  8. java毕业设计春之梦理发店管理Mybatis+系统+数据库+调试部署
  9. php如何扫描局域网ip,python实现扫描局域网指定网段ip的方法
  10. Adobe的视频剪辑软件Premiere Pro (PR)2023版本下载与安装教程