程序设计实践第5章.pptx
第5章综合程序练习题主要内容大型程序设计的要求9个大型程序设计题目分析
其中“基本要求”和“高级功能”是两个不同层次的功能要求。题目要求:每道题都给出了问题的描述、基本要求、高级要求、难点分析、主要数据结构及主要算法提示等,以便供大家选择练习。大型程序设计的要求第5章综合程序练习题
第5章综合程序练习题logo主要内容大型程序设计的要求9个大型程序设计题目分析
第5章综合程序练习题大型程序设计题目分析:1打字练习2电子琴3简易画图板4贪吃蛇5五子棋6搬运工7大富翁8赛车9坦克大战1问题描述2基本功能3高级功能4难点分析5程序总体结构6主要数据结构提示7主要算法提示
第5章综合程序练习题——打字练习问题描述打字练习是一个非常有用的小程序,电脑初学者可以借助它来熟悉键位,新手可以利用它来提高打字速度。基本功能键位练习、单词练习、文本练习高级功能增加音效、暂停功能、继续上次未完成的练习
虚拟键盘由于有很多按键所以绘制时会比较繁琐。至于如何反像显示一个按键,我们会在在算法提示部分给出。键位练习部分由于有些键是没有对应的ASCII码的,所以我们无法使用ASCII码来识别用户的按键,应当使用键盘码来识别它。函数bioskey可以获得按键的键盘码。难点分析第5章综合程序练习题——打字练习
第5章综合程序练习题——打字练习设计及实现要点图形模式初始化选择练习模式键位练习单词练习文本练习结束清理模块打字练习程序的总体结构
主要数据结构分析(一)strucrect结构代表屏幕上的一个矩形区域。它的结构如下:structrect{intleft,top;/*矩形左上角的坐标值*/intright,bottom;/*矩形右下角的坐标值*/}123第5章综合程序练习题——打字练习要数据结构分析(二)structkey{structrectkeyRect;intkeyNum;charkeyName[10];};在键位练习的部分,由于要经常对虚拟键盘上的某个键进行绘制,为了绘制时的方便我们可以使用一个结构来表示虚拟键盘上的每个按键。keyRect就代表了按键在屏幕上占据的一个矩形区域。keyNum是按键的键盘码。keyName是按键的名称,绘制时显示在按键上。第5章综合程序练习题——打字练习
主要数据结构分析(三)使用structkeykeyArray[MAXKEY]数组来保存所有要绘制的按键structkeykeyArray[MAXKEY];123第5章综合程序练习题——打字练习
随机产生按键:通过产生一个随机数作为索引值访问keyArray数组,来随机产生需要用户输入的按键。然后将对应的按键反像显示。getimage的作用是将一个矩形区域的图像复制到buff中,而putimage的作用是将buff中的图像输出到屏幕中的某个位置。而参数NOT_PUT的作用是告诉putimage在输出时将图像反像显示。主要算法提示反像显示一个按键:假设R1是我们要反像显示的按键在屏幕上占据的一个矩形区域。(注:R1是一个structrect结构的对象,R1的值可以从keyArray数组中获得。第5章综合程序练习题——打字练习
第5章综合程序练习题——电子琴1:问题描述设计一个键盘电子琴,通过键盘输入来模拟敲击琴键,并发出对应的琴声,使用户能在PC机上弹奏电子琴。现要求利用TurboC2.0来实现该游戏。2:基本功能图形界面显示。界面分三部分,背景色为蓝色。菜单功能电子琴。系统分3种模式:实时模式、播放模式、编辑模式。3:高级功能界面显示波形图、菜单帮助快捷键、鼠标功能
曲目文件的格式设计。业界广泛采用midi文件,但程序员新接触时,需要了解它的格式等技术,解码、编码也都存在难度。可自行设计一种格式,记录键盘按键及时间间隔。这样编码和解码都很简单。01图形描绘。这是本程序最主要的工作。在考虑如何设计出一个美观的图形时,好要考虑其它很多方面:背景色、菜单颜色、菜单大小、琴键颜色、琴键的形状、显示琴键被按下、显示波形图等。01响应鼠标事件。在DOS环境下响应鼠标操作比较有难度。01第5章综合程序练习题——电子琴难点分析
第5章综合程序练习题——电子琴设计及实现要点界面初始化模块结束清理模块播放模块发声模块击键处理模块实时弹奏模块曲目编辑模块电子琴程序的总体结构
第5章综合程序练习题——电子琴主要数据结构分析(一)/*系统状态*/enumsytem_status{system_status_normal,system_status_paused}/*系统模式*/enum