计算机技术基础(c语言)课程设计-潜艇大战.doc

计算机技术基础(c语言)课程设计-潜艇大战.doc

ID:52908512

大小:55.50 KB

页数:14页

时间:2020-03-31

计算机技术基础(c语言)课程设计-潜艇大战.doc_第1页
计算机技术基础(c语言)课程设计-潜艇大战.doc_第2页
计算机技术基础(c语言)课程设计-潜艇大战.doc_第3页
计算机技术基础(c语言)课程设计-潜艇大战.doc_第4页
计算机技术基础(c语言)课程设计-潜艇大战.doc_第5页
资源描述:

《计算机技术基础(c语言)课程设计-潜艇大战.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、计算机技术基础课程设计C语言设计报告题目:简单潜艇大战一、选题背景:随着人们生活水平的提高,人们对精神生活的要求也随之提高了,当然,娱乐也成了人们生活中必不可少的一部分,为此,我用C语言编辑了一个简单的简单潜艇大战游戏程序。它操作起来简单方便,运行速度快。二、设计思想:简单潜艇大战就是玩家和电脑对战的游戏,玩家在确保本身不被敌人击中的情况下击中敌人则得分,若被敌人击中游戏结束。此程序利用了if,for,while等多种语句进行了编译,而且多次使用了for语句进行了循环,用if语句进行操作,if语句是用来处理条件选择的

2、一种语句。此游戏可以任意移动玩家的位置。三、程序流程图结束若电脑中弹则玩家得分游戏继续,若玩家中弹则游戏结束图形初始化开始玩家敌人判断是否攻击敌人判断是否攻击玩家否否(敌人在攻击范围之内)(玩家在攻击范围之内)四、程序清单#include#include#include#include#defineKEY_ESC0x01#defineKEY_SPACE0x39#defineKEY_LEFT0x4b#defineKEY_RIGHT0x4d

3、intspeed=10000;charkey_state[128],key_pressed[128];/*键盘操作用的变量*/intscore=0;/*得分*/charscorestr[10];/*输出分数的变量*/structFire/*子弹的结构体*/{ intx; inty; intstart;/*是否发射炮弹*/}amyfire[6];/*屏幕上最多有5个敌人可以发子弹*/structPlay/*玩家的结构体*/{ intx; inty; structFirefire[6]; life;}play;struc

4、tAmy/*敌人的结构体*/{ intx; inty; intspeed;/*敌人的速度*/ intcolor; intdirection; life;}amy[6];voidInitGraph(void);/*图形初始化*/voidCloseGraph(void);/*图形结束*/voidGamePlay(void);/*具体玩游戏*/voidDrawPlay(void);/*画玩家*/voidDrawAmy(inti);/*画敌人*/voidDrawFire(intx,inty,intn);/*画子弹,0去除,1

5、显示*/voidDrawAmyFire(intx,inty,intn);/*画子弹,0去除,1显示*/voidDrawBlack(intx,inty,intcolor);/*去除原来地方的物体*/voidPrScore();/*输出得分*/intGetKey(intScanCode);/*这里开始都是按键函数*/voidinterruptfar(*OldInt9Handler)();voidfarinterruptNewInt9();voidInstallKeyboard();voidShutDownKeyboard

6、();voidmain(void){ InitGraph();/*图形初始化*/ GamePlay();/*具体玩游戏*/ CloseGraph();/*图形结束*/}voidInitGraph(void)/*图形初始化*/{ intgd=DETECT,gm; initgraph(&gd,&gm,"c:\tc"); cleardevice(); InstallKeyboard();}voidDrawPlay(void)/*画玩家*/{ setfillstyle(SOLID_FILL,6); bar(play.x-2

7、0,play.y-10,play.x+20,play.y); setfillstyle(SOLID_FILL,4); bar(play.x-20,play.y-10,play.x-10,play.y);}voidDrawAmy(inti)/*画敌人*/{ setfillstyle(SOLID_FILL,amy[i].color); bar(amy[i].x-20,amy[i].y-10,amy[i].x+20,amy[i].y); setfillstyle(SOLID_FILL,GREEN); if(amy[i].d

8、irection==1) bar(amy[i].x-20,amy[i].y-10,amy[i].x-10,amy[i].y); else bar(amy[i].x+10,amy[i].y-10,amy[i].x+20,amy[i].y);}voidDrawBlack(intx,inty,intcolor)/*去除原来地方的物体*/{ setfi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。