龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > C/C++开发 >

多变的立方体

时间:2009-12-22 15:42来源:未知 作者:admin 点击:
分享到:
多变的立方体 实例效果与目的 程序运行时,显示一个立方体,以白色为填充色,当按下键盘上的任意键时,矩形发生改变,当再按一下键盘上的任意键时,则这个立方体图案又发生了

多变的立方体

实例效果与目的

  程序运行时,显示一个立方体,以白色为填充色,当按下键盘上的任意键时,矩形发生改变,当再按一下键盘上的任意键时,则这个立方体图案又发生了改变。

  本实例的目的是让读者把握函数bar与函数bar3d的具体的应用。

  当再按一下键盘上任意键时,会发现矩形区域中的线条变粗了。当再按一下键盘上的任意一个键时,则就会发现屏幕图案改变。

程序说明

  C语言提供了一些先画出基本图形轮廓、再按规定图模和颜色填充整个封闭图形的函数。

在没有改变填充方式时,C语言以默认方式填充。下面逐一介绍这些函数。

  1、函数bar

  调用格式:void far bar(int x1,int y1,int x2,int y2);

  作用:确定一个以(x1,y1)为左上角、(x2,y2)为右下角的矩形窗口,再按规定图模和颜色填充。

  说明:此函数不画出边框,所以填充色的边缘即相当于边框。

  2、函数bar3d

  调用格式:void far bar3d(int x1,int y1,int x2,int y2,int depth,int topflag);

  作用:topflag为非0时,画出一个三维的长方体。当topflag为0时,三维图形不封顶,实际上很少这样使用。

  说明:bar3d()函数中,长方体第三维的方向不随任何参数而变,即始终为450的方向。

制作步骤

  1、设置EGA显示器分辨率:

   int driver=EGA,mode=1;

   2、设置刻度值:

   settextjustify(CENTER_TEXT,CENTER_TEXT);

   for(i=0;i<=5;i++)

  {line(20,j,40,j);

   itoa(i,buffer,10);

   outtextxy(10,j,buffer);

   j-=ystep;

  }

   3、纵坐标标注

   gotoxy(j/8,22);

   printf("%s","month");

   4、源代码与注释:

#include

  #include

  #include

  #include /*预定义函数*/

  int main(void)

  { /*request auto detection*/

  int gdriver=DETECT,gmode,errorcode;

  int midx,midy,i; /*initialize graphics,local variables*/

  initgraph(&gdriver,&gmode,"");

  /*read result of initialization*/

  errorcode=graphresult();

  if (errorcode!=grOk)

  { /*an error occurred*/

  printf("Graphics error:%s ",grapherrormsg(errorcode));

  printf("Press any key to halt:");

  getch();

  exit(1);

  } /*terminate with error code*/

  midx=getmaxx()/2;midy=getmaxy()/2;

  /*loop through the fill patterns*/

  for (i=EMPTY_FILL;i

  { /*set the fill style*/

  setfillstyle(i,getmaxcolor()); /*draw the 3-d bar*/

  bar3d(midx-50,midy-50,midx+50,midy+50,10,1);

  getch();} /*clean up*/

  closegraph();

  return 0 ;

  }

  

  

  

精彩图集

赞助商链接