您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计课程设计报告
《C语言程序设计》课程设计报告题目:天使的脚步专业班级:07本科二班姓名学号:尹超20071611067指导老师:张红霞2007年1月26日C课程设计报告书一、题目:天使的脚步二、系统功能介绍:以美丽的花瓣形曲线开始整个程序。随后在优美的钢琴曲《童年的回忆》中,屏幕右方逐渐显示用户互动信息。与此同时,正弦曲线对应音乐的节奏,以不同的速度一排排显示。音乐结束后,一个天使精灵登场,用户可以通过四个方向键来控制天使在规定区域内运动,此时,在运动区域内随机产生字符。按Esc键退出程序。三、详细设计思路:1:首先建立主函数,程序功能通过调用函数来实现。2:构思程序的大体框架。3:通过网络、书籍扩充现有的C语言知识,以此来确定程序实现的功能。在图形模式下,运用图形绘制与文本输出函数来奠定程序的基础;通过数学函数来绘制复杂的几何图形,并且绘制出主人公;调用喇叭,奏一首简单的曲子,为程序添彩;调用键盘,实现用键盘控制主人公的移动;4:细化第三步,确定主人公的外形,音乐的曲谱,主人公移动的方式快慢等。进而增加一些剧情,使程序相对有一些可观赏性;5:为程序做最后处理,修正一些错误,精确一些图形坐标,在能力范围之内优化一些算法,以减少不必要的冗余;6:调试程序,让同学们提出合理化建议,完善程序。四、关键技术:1:以此段代码绘制一个复杂的花瓣图形for(i=0;i=7;i+=PI/360){r=100*(1+1/3*sin(12*i))*(1+sin(3*i));x1=r*cos(i);x2=r*cos(i+PI/3);y1=r*sin(i)/5;y2=r*sin(i+PI/3);setcolor(12);line(237+x1,230+y1,237+x2,230+y2);delay(1000);}以i为增量,确定r的值,进而确定所画线的两端点坐标。画出线段。以delay延时体现绘制的动态效果。2:定义music()函数,实现程序的音乐播放效果voidmusic(){intelapse(intsec);inti=0;floatc;intsong[]={392,2,329,2,262,2,392,2,…………};while(song[i]!=0){sound(song[i]);yanshi(song[i+1]);i+=2;}nosound();}在song[]数组中用两个数为乐曲中的一个音分别来定义音高(音高对应的发生频率见附表)和音长,用sound()函数来读取音高,使喇叭发出同频率的音,定义yanshi()函数,来读取音长,从而使是乐曲实现拍子的长短。3:由于dos是单任务工作模式,为在音乐想时,屏幕有变化,而不至于太单调,在上述的while()循环中加入switch()函数,以使当i值不同时屏幕有不同变化。具体如下:switch(i){case2:outtextxy(485,15,You);break;case6:outtextxy(515,15,are);break;case10:outtextxy(550,15,the);break;…………default:for(c=0;c=140;c+=0.5){putpixel(484+c,175+i+10*sin(0.5*c),i/2);delay(20);}}4:运用了键盘读取技术,定义了四个方向键和退出键,使用户可以控制主人公的移动。并且在读键值后做以下限制,使主人公只能在特定区域内运动。key=bioskey(0);if(key==UP&&xy13)panduan=1;elseif(key==DOWN&&yy465)panduan=2;elseif(key==LEFT&&xx13)panduan=3;elseif(key==RIGHT&&yx462)panduan=4;elseif(key==Esc)break;通过分支函数,来分别对应不同按键与小人的移动方式。5:使用了异或图形模式,使主人公在移动的时候不会覆盖下面的图形。for(i=0;iYD;){putimage(xx+i,xy,buf,XOR_PUT);i+=SPEED;putimage(xx+i,xy,buf,XOR_PUT);}先在主人公所在地方通过putimage()以异或模式重画一幅与之相同的使之消失,再在稍远处在画一幅。以此循环,实现了主人公的运动,又影响其他图片的显示。五、心得体会:C语言编程是一件快乐的事。用它做出来的东西我们明白它的原理,有一种完全的自我发挥感。当然在程序设计中遇到了好多不明白的地方,可是通过查阅书籍,浏览网页,最终都找到了它们的解决方法。这种成功的喜悦是无以言表的。以此,我学到了好多课本上没有的东西。当然,更多的是,在此过程中,我知道了自己C语言知识的浅薄。我程序中的好多算法都不是最优的。C中一些更为经典的应用我现在很难明白。以后有机会的话,我还会进一步学习C语言的知识。在此也谢谢张老师一个学期来的教导,以后如果有什么不明白的地方,还请您多多指教。祝您元旦快乐,春节快乐。六、参考资料:谭浩强《C程序设计》《C语言游戏编程精析》百度谷歌附:音律与发声频率对照1234567高音131,139,147,196,165,175,185,196,208,220,233,247中音262,277,294,311,329,349,370,392,419,440,466,494低音523,544,587,622,659,698,740,784,831,880,932,988
本文标题:C语言程序设计课程设计报告
链接地址:https://www.777doc.com/doc-1491926 .html