




已阅读5页,还剩82页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计内容介绍课程要求运用所学C语言编程知识开发设计具有一定实用价值的计算机应用程序。课程目的1、培养理论与实践相结合的能力;2、培养独立分析问题解决问题的能力;3、培养团队合作意识。图形操作简介必要的头文件必须的系统变量初始化图形界面初始化出错处理取得必须的信息关闭图形界面一些常用的画图函数必要的头文件INCLUDEINCLUDEINCLUDEINCLUDEINCLUDE初始化图形界面GRAPHDRIVERDETECTINITGRAPHINITGRAPH初始化出错处理ERRORCODEGRAPHRESULTIFERRORCODEGROKPRINTF“GRAPHICSSYSTEMERRORSN“,GRAPHERRORMSGERRORCODEEXIT1取得必须的参数GETPALETTEMAXCOLORSGETMAXCOLOR1MAXXGETMAXXMAXYGETMAXYASPECTRATIODOUBLEXASP/DOUBLEYASP关闭图形界面CLOSEGRAPH/RETURNTHESYSTEMTOTEXTMODE/一些常用的画图函数OUTTEXTBUFFER,OUTTEXTXYX,Y,BUFFERLINEX0,Y0,X1,Y1LINERELLINETOCIRCLEINTX,INTY,INTRADIUSARCBARINTL,INTT,INTR,INTBBAR3DMOVETOINTX,INTYMOVERELDX,DYGETXPUTPIXELX,Y,COLORGETPIXELX,YSETCOLORSETBKCOLORGETCOLORGETBKCOLORDOS下如何发声在DOSH下,有如下三个函数可以处理声音SOUNDLONGFREQ发出特定频率的声音NOSOUND停止发声DELAY延时特定时间人能听到的声音频率大致在20HZ至20000HZ之间学习资料与方法C程序编程资料汇总图书文献资料查询上网查询借鉴它山之石课题要求二人一组,自由组合。每组选一个题目,确定组长。学委负责登记并提交。设计结束前进行程序的运行演示和讲解,提交有详尽的注释的源程序和可执行程序。提交开发文档,说明程序的主要模块及功能、主要数据结构及意义、程序采用的核心算法及实现方式、小组成员的分工及完成情况。提交课程设计报告,参考模版。1、文字编辑器设计界面,实现中、英文字输入,能实现新建、保存、中英文字切换等功能菜单。2、键盘电子琴能通过键盘弹奏乐曲,通过PC喇叭播放音乐。能够播放简单的WAV文件,支持键盘和鼠标操作。主要应用DOSH下的处理声音的函数SOUNDLONGFREG发出特定频率的声音;NOSOUND停止发音;DELAY延时特定时间发音等函数来实现。参考题目3、简易图形编辑器实现WINDOWS下的画笔工具的部分功能,能够读写编辑位图(BMP)文件。实现类似PHOTOSHOP滤镜的部分功能,如锐化、模糊、凸出、扭曲、马赛克等,能够读写编辑位图(BMP)文件。4、黑白翻转棋二人对弈,系统判断输赢和禁手,具有计时和记分功能,保留纪录,支持鼠标和键盘操作,能悔棋。通过画图函数设定棋盘,设定二人对弈的有效范围,通过鼠标或键盘进行对弈,根据一定的规则,判断输赢。5、五子棋二人对弈,系统判断输赢和禁手,具有计时和记分功能,保留纪录,支持鼠标和键盘操作,能悔棋。通过画图函数设定棋盘,设定二人对弈的有效范围,通过鼠标或键盘进行对弈,根据一定的规则,判断输赢。6、跳棋二人对弈,具有计时和记分功能,保留纪录,支持鼠标和键盘操作,能悔棋。7、中国象棋二人对弈,具有计时和记分功能,系统判断输赢和禁手,支持鼠标和键盘操作,能悔棋一步。8、俄罗斯方块可选择难度,可记分,保留最高分纪录,支持键盘和鼠标操作。9、挖雷游戏实现WINDOWS下的挖雷游戏功能。10、走迷宫绘制和选择迷宫地图,系统能够自动寻找出口,支持鼠标和键盘操作。通过画图函数设定迷宫,运用数据结构的相关知识,利用一定的算法,实现单步找寻迷宫出口的操作。11、汉诺塔的动态演示自动移动盘子,要求能输入塔盘的数量,支持鼠标和键盘操作。运用数据结构的相关知识,利用一定的算法,实现单步的动态演示。12、华容道游戏系统能够自动提示。要求用鼠标拖动并记录时间,支持鼠标和键盘操作。注意事项规范化编程模块化编程制定详细的日程安排,并严格遵守合理分工,团队协作认真完成开发文档以及课程设计报告鼠标简介鼠标系统实际上由两个主要元素组成鼠标机制和称作鼠标驱动程序的内存驻留程序。鼠标驱动程序提供与鼠标通信所需的全部低级支持。此外,它自动维持鼠标光标位置和发现是否按下了某个键。一旦装入驱动程序,鼠标就可以被随后执行的任意程序使用。鼠标简介续可以通过PC中断33H访问鼠标和鼠标驱动程序的各种功能。所选择的特定函数依赖于中断时AX寄存器的值。三个其它寄存器(BX、CX和DX)用于把各种参数传送给鼠标例程。同样,鼠标函数使用这四个寄存器把鼠标的位置和按钮的状态返回给调用函数。鼠标驱动程序主要功能鼠标驱动程序主要功能鼠标功能调用方法用TC通过INT33H中断来编制基本函数,有三种常用方法嵌入汇编程序,如ASMCLI清中断利用全程变量赋予寄存器值,然后通过函数GENINTERRUPT调用中断实现利用联合类型REGS,SREGS通过函数INT86,INT86X调用中断,原型在DOSH鼠标的初始化INITMOUSEUNIONREGSREGSREGSXAX0INT860X33,IFREGSXAX0RETURNFALSEELSERETURNTRUE鼠标光标的隐藏HIDECURUNIONREGSREGSIFVISUALREGSXAX2INT860X33,VISUALFALSE鼠标光标的显示SHOWCURUNIONREGSREGSIFVISUALREGSXAX1INT860X33,VISUALTRUE鼠标光标的显示与隐藏在鼠标驱动程序中,鼠标的显示状态用0值表示,隐藏用负值表示,每调用一次显示功能则该值加一,每调用一次隐藏功能,则该值减一。这样,在多次调用了驱动程序的隐藏鼠标光标功能后,再调用显示鼠标光标功能时,将不能正常显示鼠标光标。需要加入一个VISUAL布尔型变量,来取代驱动程序中的数值。读取鼠标的状态STATUSUNIONREGSREGSREGSXAX3INT860X33,XREGSXCXYREGSXDXSTATUSREGSXBX读取鼠标的状态其中X,Y为光标位置STATUSREGSXAX4REGSXCXXREGSXDXYINT860X33,设置鼠标光标形状设置鼠标光标需要三个方面信息鼠标的外边界88点阵,16个整数鼠标的内部形状88点阵,16个整数以及鼠标的热点的相对坐标INTX,Y其中外边界和内边界连续存放,为长度为32的整型数组INTMARKS32设置鼠标光标形状SETCURSUNSIGNEDMASKS32,X,YUNIONREGSREGSSTRUCTSREGSSREGSREGSXAX9REGSXBXXREGSXCXY/HOTSPOT/REGSXDXUNSIGNEDMASKSSEGREADINT860X33,手的光标数据0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,0XFFFF,/CURSORMASK/0X0C00,0X1200,0X1200,0X1200,0X13FE,0X1249,0X1249,0X1249,0X7249,0X9001,0X9001,0X9001,0X8001,0X8001,0X4002,0X3FFC/CURSORMASK/4,0/HOTSPOT/设置鼠标的移动范围SETMOUSEAREAINTX0,INTY0,INTX1,INTY1UNIONREGSREGSREGSXAX7REGSXCXX0REGSXDXX1INT860X33,REGSXAX8REGSXCXY0REGSXDXY1INT860X33,汉字库简介程序中可直接使用UCDOS中的HZK16,ASC16和HZK24三个文件。HZK16中存储的是1616点阵汉字是按行存储的以便于显示,每个汉字字模32BYTE,按照国标码顺序存储,其中也包含了682个纯中文符号字母。汉字库的情况ASC16存储256个西文ASCII码的816点阵格式,按行存储,每个ASCII码16字节。HZK24X存储2424点阵打印字模,按列存储,每个汉字字模占576字节。2424点阵汉字存储两比较大,所以从16区1位“啊”字开始存储,以减少字库大小。其中X为KS表示楷体,宋体等。取得字节某一位的值INTGETBITUNSIGNEDCHARBYTE,INTBITIFBIT7RETURN0RETURNBYTEBIT函数GETBIT用于得出一个字节中每个位(BIT)是0还是1。显示24点阵的汉字VOIDPUTCHN24X,Y,CHARBY,COLORINTI1,I2,I3FORI10I1MAININTGRAPHDRIVERVGAINTGRAPHMODEVGAHIINITGRAPHCLEARDEVICEMOVETO100,20LINETO100,80MOVETO200,20LINETO100,80LINE100,90,200,90LINEREL0,20MOVEREL100,0LINEREL30,20GETCHCLOSEGRAPH264画矩形和条形图函数画矩形函数VOIDFARRECTANGLEINTXL,INTY1,INTX2,INTY2;该函数将以X1,Y1为左上角,X2,Y2为右下角画一矩形框。画条形图函数VOIDBARINTX1,INTY1,INTX2,INTY2;该函数将以XL,Y1为左上角,X2,Y2为右下角画一实形条状图,没有边框,图的颜色和填充模式可以设定。程序举例编写程序,由RECTANGLE函数以100,20为左上角,200,50为右下角画一矩形,接着由BAR函数以100,80为左上角,150,180为右下角画一实形条状图,用缺省颜色白色填充。INCLUDEMAININTGRAPHDRIVERDETECT;INTGRAPHMODE,X;INITGRAPH它将得到当前的填充模式和颜色,这些信息存在结构指针变量FILLINFO指出的结构中。294与填充函数有关的作图函数画条形图函数BAR和画扇形函数PIESLISE,它们需要用SETFILLSTYLE函数设置填充模式和颜色,否则按缺省方式。其它画三维立体直方图函数VOIDFARBAR3DINTX1,INTY1,INTX2,INTY2,INTDEPTH,INTTOPFLAG;该函数参数名定义TOPFLAG非0时,画出三维顶,否则将不画出三维顶,DEPTH决定了三维直方图的长度。画椭圆扇形函数VIODFARSECTORINTX,INTY,INTSTANGLE,INTENDANG1E,INTXRADIUS,INTYRADIUS;该函数将以X,Y为圆心,以XRADIUS和YRADIUS为X轴和Y轴半径,从起始角STANG1E开始到ENDANG1E角结束,画一椭圆扇形图,并按设置的填充模式和颜色填充。当STANG1E为0,ENDANGLE为360时,则画出一完整的椭圆图。画椭圆图函数VOIDFARFILLELLIPSEINTX,INTY,INTXRADIUS,INTYRADIUS;”该函数将以X,Y为圆心,以XRADIUS和YRADIUS为X轴和Y轴半径,画一椭圆图,并以设定或缺省模式和颜色填充。画多边形图函数VOIDFARFILLPOLYINTNUMPOINTS,INTFARPOLYPOINTS该函数将画出一个顶点数为NUMPOINTS,各顶点坐标由POLYPOINTS给出的多边形,也即边数为POLYPOINTS1,当为一封闭图形时,NUMPOHTS应为多边形的顶点数加1,并且第一个顶点坐标应和最后一个顶点的坐标相同。295可对任意封闭图形填充的函数SETFILLSTYLE函数,只能对由上述特定函数产生的图形进行颜色填充,对任意封闭图形均可进行填充的是函数VOIDFARFLOODFILLINTX,INTY,INTBORDER;该函数将对一封闭图形进行填充,其颜色和模式将由设定的或缺省的图模与颜色决定。其中参数X,Y为封闭图形中的任一点,BORDER是封闭图形的边框颜色。编程时该函数位于画图形的函数之后,即要填充该图形。210屏幕操作函数清屏函数CLEARDEVICE存屏幕图象到内存区VOIDFARGETIMAGEINTX1,INTY1,INTX2,INTY2,VOIDFARBITMAP;将把屏幕左上角为X1,Y1,右下角为X2,Y2矩形区内的图象保存到指针BITMAP指向的内存区去。为了能开辟一个内存缓冲区,则必须首先要知道所存图象占多少字节,可用测定图象所占字节数的函数UNSIGNEDFARIMAGESIZEINTX1,INTY1,INTX2,INTY2;该函数将得到屏幕上左上角为X1,Y1,右下角为X2,Y2矩形区内图象所占的字节数。将所存图象显示函数VOIDFARPUTIMAGEINTX1,INTY1,VOIDFARBITMAP,INTOP;该函数将把指针BITMAP指向的内存区中所装图象,与屏上现有左上角为XL,Y1的矩形区内图象进行OP规定的操作后显示在屏上。2102设置显示页函数存储在显示适配器上的图象存储器VRAM中的一满屏图象信息称为一页。每个页一般为64K字节,VRAM可以存储要显示的图象几个页视VRAM容量而定,最大可达8页因存储图象的页显示时,一次只能显示一页,因此必须设定某页为当前显示的页又称可视页,缺省时定为0页在由用户编辑图形的页称为当前编辑页又称激活的页缺省时定为0页设置激活页和显示页的函数如下VOIDFARSETACTIVEPAGEINTPAGENUMVOIDFARSETVISUALPAGEINTPAGENUM;2111图视口设置函数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓储物流行业运输调度员招聘面试模拟题及备考策略
- 电子科技大学中山学院《基础体育》2024-2025学年第一学期期末试卷
- 重庆工业职业技术学院《工程数学》2024-2025学年第一学期期末试卷
- 2025年六大行笔试模拟题集与答案解析
- 2024年全国小学生“学宪法、讲宪法”活动知识竞赛题库及答案
- 家具搭配专业知识培训课件
- 2025年初入职场必-备面试技巧与模拟题解答手册
- 长春工程学院《电子商务》2024-2025学年第一学期期末试卷
- 班工长安全知识培训课件
- 2025年炼钢专业高级职位面试要点及模拟题详解
- 新生儿病房护理安全管理
- 乘客遗失物品处理课件
- 美编设计面试题目及答案
- 2025年云南省中考物理真题(含答案)
- 肿瘤患者有效沟通技巧
- 医院科室停电应急预案
- 2025-2030中国工业用地开发与产业升级分析报告
- 2025年教育学家教学理论考试试题及答案解析
- 2025年医疗器械不良事件培训考试试题(有答案)
- 第1课 互联网和物联网 课件 2025-2026学年七年级下册信息技术浙教版
- 信息技术在课堂教学中的应用
评论
0/150
提交评论