电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

池塘夜降彩色雨课程设计报告

  • 资源ID:474323940       资源大小:306.98KB        全文页数:10页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

池塘夜降彩色雨课程设计报告

课 程 设 计 课程名称 数据结构 题目名称 1.6池塘夜降彩色雨(难度4)学生学院 计算机学院 专业班级 计算机科学与技术12 学 号 学生姓名 指导教师 2010 年 7 月 7日 池塘夜降彩色雨系统 1 需求分析 设计一个程序,演示美丽的“池塘夜雨”景色:色彩缤纷的雨点飘飘洒洒地从天而降, 滴滴入水有声,溅起圈圈微澜。 具体要求: (1) 雨点在空中的出现位置、雨点大小、降落过程的可见程度、入水位置、颜色、最大水圈等,都是随机确定的 ; (2) 多个雨点按照各自的随机参数和存在状态,同时演示在屏幕上。可以适当调整控制雨点密度、大小、涟漪和状态变化的时间间隔等参数。 该系统实现了池塘的夜晚,下起了五彩的雨点的自然现象。2概要设计根据题目要求的分析,可以将整个系统的数据类型定义如下  ADT graphList  数据对象:D=ai | ai Charset , I = 1,2,3,···,n, n0 数据关系:R1=<ai-1,ai> | ai-1,aiD,ai-1<ai, I =2,···,n  基本操作:  initgraphics(void)  操作结果;图形模式的初始化 rainDrop *creatDrop(void)  操作结果;构造雨点 drawRainLine(struct rainDrop *p)初始条件:雨点已经产生 操作结果;画雨点下落路线 creatRain(void)  初始条件:雨点已经产生 操作结果;产生雨连续下落的效果 setwinddirection(struct rainDrop *p)  初始条件:雨点已经开始下落 操作结果:风向的设置(无风,东风,西风 updateRainLineData(struct rainDrop *p)  初始条件:雨点已经产生 操作结果;雨点的下落过程更改 updateRainCircleData and floatradius(struct rainDrop *p)  初始条件:雨点已经出现且落在湖面上 操作结果;水圈涟漪的设计 rainDropDown(struct rainDrop *p)  初始条件:雨点下落到湖面 操作结果;使雨点在落到湖面上消失 drawRainCircle(struct rainDrop *p)  初始条件: 水圈涟漪已存在 操作结果;水圈涟漪的画出 clearRainLine(struct rainDrop *p)初始条件:雨点已经出现且已经画出了一段痕迹 操作结果;清除雨点的滑落路线  clearRainCircle(struct rainDrop *p)  初始条件:水圈涟漪已存在 操作结果;清除水圈涟漪 clearAll(void)  操作结果:清除所有 ADT graphList  程序的主要模块包括四个部分: (1) 主函数:void main()(2) 设定雨滴:creatDrop(void) struct rainDrop *p rainLineLength(struct rainDrop *p)(3) 结束 end各模块调用关系 主程序 雨的设置3详细设计Struct rainCircle/定义水圈的相关数据/横坐标、纵坐标、路线步骤、水圈半径等等Struct raindrop/定义雨点下落的过程的数据/包括雨点开始结束的坐标,颜色,路径,长度,对是否到达水面的判断,水圈的产生以及指向下一个雨点Void initgraphics(void) /图形函数的初始化 int gmodegdiver; gdriver=DETECT; initgraph(&gdriver,&gmode,“C:/TC20/BGI”) /其中gdriver和gmode分别表示图形驱动器和模式,“C:/TC20/BGI”是指的图形驱动程序所在的目录路径,由于使用的是虚拟的TURBO C编译器,其指定路径是“C:/TC20/BGI”。Struct raindrop *creatDrop(void)/雨点开始产生时的随机设置Struct raindrop *p;P=(struct raindrop *)molloc(LEN);p->startX=rand()%640;/随机产生的位置Xp->startY=rand()%430;/随机产生的位置Yp->endY=430+rand()%50;/结束坐标p->curX= p->startX;/每个雨点消失的横坐标p->curY= p->startY;/每个雨点消失的纵坐标p->rainLineStep=8:/共分8个步骤p->rainColor=rand()%15+1;/彩色的随机产生p->rainLineLenth=rand()%10+10;/雨点大小的随即产生p->status=0;p->water.x= p->startX;p->water.y= p->startY;/随机产生的涟漪的位置p->water.r=p->rand()%45;/随机产生涟漪的半径p->water.curR=rand()%3;/涟漪消失的半径p->water.rainCircleStep=rand()%3+1;p->next=NULL;return(p);Void recreat atDrop(struct raindrop *p)/重复产生雨点/跟雨点开始的随机设置是一样的Void creatRain(void)/重复雨点的产生,使之连续不断/用随机产生雨点,重复产生,使得雨点连续不断void updateRainLineData(struct rainDrop *p)/这个是每次下落雨点的数目void drawRainLine(struct rainDrop *p)/画出雨点的下落的轨迹void clearRainLine(struct rainDrop *p)/清除雨点的轨迹if(p->curY<=400) setcolor(BLACK);/判断是否到了水面,不是的话就是黑色的 line(p->startX,p->startY,p->curX,p->curY); if(p->curY>400) setcolor(BLUE);/到了水面之后用蓝色清除雨点的轨迹 line(p->startX,p->startY,p->curX,p->curY);void rainDropDown(struct rainDrop *p)/构造雨点的下落效果/如果发生坐标大于结束坐标,雨点的下落效果产生 if(p->curY>=p->endY) clearRainLine(p); p->status=1; else clearRainLine(p);/清除原来雨点的轨迹 updateRainLineData(p);/产生新雨点的线路 drawRainLine(p);/画出新路线 void updateRainCircleData(struct rainDrop *p)/水圈的消失半径 p->water.curR+=p->water.rainCircleStep;void drawRainCircle(struct rainDrop *p)/画出水圈的半径,包括颜色和大小void clearRainCircle(struct rainDrop *p)/消除水圈/由于池塘是蓝色的,所以用蓝色来刷新水圈的填充色 setcolor(BLUE); circle(p->water.x,p->water.y,p->water.curR);void fallToWater(struct rainDrop *p)/这个是落水的动画void rain(void)/下雨的动画/里面有个计时器,构造下雨的动画void clearAll(void)/清除所有的东西/里面有个closegraph是用来关闭图像的 main()/主函数 int w; printf("Input rainDrop Number:(<300)"); scanf("%d",&rainDropNumber);/输入雨量,小于300 printf("Input down Delay:(<50)"); scanf("%d",&downDelay);/输入雨点下落速度,小于50 randomize(); initgraphics(); setbkcolor(BLACK);/画出背景 setfillstyle(1,BLUE); bar(0,390,640,480);/构造池塘 creatRain(); rain(); clearAll();/调用各个模块 开始 输入雨量 输入雨速画夜幕池塘 产生雨点 雨点路径 结束 关闭图像继续? 清除水圈 画出水圈 清除路径否是4 编码测试 输入界面,输入雨点数,雨速 输入雨量50,雨速1输入雨量150,雨速15 设计体会选题的时候,主要是这个主题吸引了我,池塘夜降彩色雨,一听名字就是要做出一个动画出来的,所以很好奇做出来是什么效果,然后就想尝试一下。一接触的时候无从下手,从来没有用过图形库。然后一开始用的是vc来编程,怎么也弄不出来,后来发现vc中没有tc中的graphics.h的库。然后就开始在网上找关于这个库的资料,慢慢的从画一个圆圈入手,慢慢的把图形做出来,勉勉强强的把效果弄出来了,能力有限,本来想加一个风的效果的,可是做不出来,只能做出夜降彩色雨。有点遗憾。这个程序中使用的就是简单的链表,采用带头结点的循环链表,仅需改变头尾两个指针即可。creatRain,drawRainLine和rainDropDown以及确定链表中第一个结点和之后一个结点的运算时间都是O(l),销毁雨点线路算法clearRainLine和销毁水圈算法clearRainCircle都是对每个元素调用一个O(1)的函数,因此都是O(n),也有简单的图表的应用,也有对链表的的应用,即双向循环链表的使用。课程设计做完了,做的不

注意事项

本文(池塘夜降彩色雨课程设计报告)为本站会员(M****1)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.