池塘夜jiang系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
池塘夜jiang系统

池塘夜降彩色雨系统 1 需求分析 设计一个程序,演示美丽的“池塘夜雨”景色:色彩缤纷的雨点飘飘洒洒地从天而降, 滴滴入水有声,溅起圈圈微澜。 具体要求: (1) 雨点空中的出现位置、雨点大小、降落过程的可见程度、入水位置、颜色、最大水圈等,都是随机确定的 ; (2) 多个雨点按照各自的随机参数和存在状态,同时演示在屏幕上。可以适当调整控制雨点密度、大小、涟漪和状态变化的时间间隔等参数。 该系统实现了池塘的夜晚,下起了五彩的雨点的自然现象。 2 概要设计 该系统旨在描绘一幅池塘夜雨的动态图,因此应该关注每一滴雨点: (1) 每个雨点的存在周期可分为三个阶段从天而降、入水有声和入水涟漪,需要一个记录存储其相关参数、当前状态和下一状态的更新时刻。 (2) 雨点下降的可见程度应是断断续续、依稀可见;应是由里至外逐渐扩大和消失的。 (3) 每个雨点发生时,生成其记录,并预置下一个雨点的发生时间。 (4) 用一个适当的结构管理当前存在的雨点,使系统能利用它按时更新每个雨点的状态,一旦有雨点的水圈全部消失,就从结构中删去。 根据以上的分析,可以将整个系统的数据类型定义如下 ADT graphList { 数据对象:D={ai | ai Charset , I = 1,2,3,···,n, n≥0} 数据关系:R1={ai-1,ai | ai-1,aiD,ai-1ai, I =2,···,n} 基本操作: initgraphics(void) 操作结果;图形模式的初始化rainDrop *creatDrop(void) 操作结果;构造雨点drawRainLine(struct rainDrop *p) 初始条件:雨点已经操作结果;画雨点下落路线creatRain(void) 初始条件:雨点已操作结果;产生雨连续下落的效果updateRainLineData(struct rainDrop *p) 初始条件:雨点已经操作结果;雨点的下落过程and floatradius(struct rainDrop *p) 初始条件:雨点已经出现且落在湖面上 操作结果;水圈涟漪的设计 rainDropDown(struct rainDrop *p) 初始条件:雨点下落到湖面 操作结果;使雨点在落到湖面上消失 drawRainCircle(struct rainDrop *p) 初始条件: 水圈涟漪已存在 操作结果;水圈涟漪的画出 clearRainLine(struct rainDrop *p) 初始条件:雨点已经出现且已经画出了一段痕迹操作结果;清除雨点的滑落路线 雨滴的设置 3 详细设计 Struct rainCircle//定义水圈的相关数据 { //横坐标、纵坐标、路线步骤、水圈半径 int x;//横坐标 int y;//纵坐标 int cutR;//水圈初始半径 int r;//水圈变化后的半径 int rainCircleStep;//水圈产生的步骤 } Struct raindrop//定义雨点下落的过程的数据 { int startX;//开始的横坐标 int startY;//开始的纵坐标 int endY;//结束的纵坐标 int curX;//每个雨点消失的横坐标 int curY;// 每个雨点消失的纵坐标 int rainColor;//雨点的的颜色 int rainLineStep;//雨点下落的路径 int rainLineLength;//雨点的长度 int status;//判断是否到达湖面 struct rainCircle water;//产生涟漪 struct raindrop *next;//指向下一颗雨点 } Void initgraphics(void) //图形函数的初始化 { int gmodegdiver; gdriver=DETECT; initgraph(gdriver,gmode,”D:\\TC”) //其中gdriver和gmode分别表示图形驱动器和模式,“D:\\TC”是指的图形驱动程序所在的目录路径 } Struct raindrop *creatDrop(void)//雨点开始产生时的随机设置 { Struct raindrop *p; P=(struct raindrop *)molloc(LEN); p-startX=rand()%640;//随机产生的位置X p-startY=rand()%430;//随机产生的位置Y p-endY=430+rand()%50;//结束坐标 p-curX= p-startX;//每个雨点消失的横坐标 p-curY= p-startY;//每个雨点消失的纵坐标 p-rainLineStep=8://共分8个步骤 p-rainColor=ran

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档