网站大量收购闲置独家精品文档,联系QQ:2885784924

基于Easyx图像库的色块动态生成程序说明书.doc

基于Easyx图像库的色块动态生成程序说明书.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
引言 1.文档定义 这篇文档描述的是这样的一个程序:运用Easyx图形库,把输出的图形界面用矩形块填满,要求这些矩形块按照一定时间周期(时间间隔不做强制要求),随机(位置,颜色)填充,直到填满。 2.编写目的 将这个小程序做成一个具有一定规范的例子,让更多的同学熟悉Easyx的相关操作。 3.编写背景 IT培优项目C语言图像小组成员,从题目提出至今,通过深刻地讨论和交流,形成了以下文档。 可行性分析 1.时间可行性 有时候想为这样一个如此芊瘦的程序写一个说明书有点小题大做了。因为编写这样一个程序根本占用不了你多少时间,也就一个小时左右,包括前期的分析和写代码。所以看的时候直接把这些跳过吧,如果你只对代码感兴趣的话。 2.技术可行性 Easyx: EasyX 是针对 C++ 的图形库,可以帮助 C 语言初学者快速上手图形和游戏编程。 Visual C++6.0: 这个学习c语言的基本都会哈,说一句,win7可以用哈,就不废话了。 需求分析 1.实现目标 将135中颜色9*15排列(不应该这么快把结果拿出来,但是违例一次吧) 2.功能需求 颜色需求: 程序中的颜色来自一个名为rgb.txt的文档中,文档中的每一行都是记录了一个颜色的RGB值,每次都读取一行没有被读取的行,取出RGB值进行色块的填充。 算法需求: 这个程序主要编写两个算法,一个是产生不重复的随机数,另一个是根据产生的随机数在特定的位置绘制矩形。 总体设计 详细设计与实现 实现代码: #include stdio.h #include stdlib.h #include string.h #include graphics.h #include windows.h #include conio.h #include time.h int function(int arry[136], int n, int m); int arryrgb[136] = {0}; int arry[136] = {0}; //将一个数字字符转换成对应数字 int CharToint(char a) { return a - 0; } //将arry数组的前i位转换成一个数值 int Char_To_int(int i, char arry[3]) { int temp; int result = 0; int k=1; for(int j = i; j 0; j-- ) { temp = CharToint(arry[j-1]); result += (temp*k); k=k*10; } return result; } //将一串形如255,244,213的这样一串字符串,提取出三个整数 //作为RGB值 int ArryToRGB(char RGB[20], int values[3]) { char store[3]; int i = 0; for(int j = 0; j 3; j++) { int k = 0; while(1) { if( RGB[i]0 || RGB[i]9) { values[ j] = Char_To_int(k,store); i++; break; } store[k] = RGB[i]; k++; i++; } } return 0; } //从文本中获取形如这样的(255,244,213)的一串字符串 int getVALUES(int values[3]) { FILE *fp = fopen(RGB.txt,r); char tBuf[20]; srand((unsigned) time(NULL)); int n = (1 + rand()%135); n = function( arryrgb ,n, 135); int k= 0; while(fgets(tBuf,100,fp) != NULL) { k++; if( k == n) { ArryToRGB(tBuf , values); } } fclose(fp); return 0; } //对由随机数发生器产生的数二次处理,确保输出没有重复的 int function(int arry[135],int n, int m) { if(arry[n] == 0) { arry[n] = n; return n; } else { if(n == m) { n = 1; function(arry, n, m); } else function(arry,

文档评论(0)

企业资源 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档