• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
人月团圆:用C实现的爱情宣言
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
人月团圆:用C实现的爱情宣言
软件发布 人月团圆:用C实现的爱情宣言
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 编程技术 >> VC教程 >> 人月团圆:用C实现的爱情宣言

人月团圆:用C实现的爱情宣言

添加时间: 2006-2-10 23:59:06  作者: VC教程  阅读次数:98   来源: http://www.d9soft.com

            在中秋之际,写上一段爱情宣言程序,聊表爱意。


#include "stdio.h"
#include "graphics.h"
#include "time.h"
#include "math.h"
#define N 2
#define TIME 0.8/*微粒的的运动时间,TIME/步,每一步长为25个单位*/
void *buf[N];
struct
{
int x,y;

} lizi[]={{0,0},{75,75}};

void alter_place_lizi(int *x,int *y,int key)/*根据随机方向改变粒子的方位*/
{


switch(key)
{case 0:
case 1:
case 2:*x-=25;break;
case 4:
case 5:
case 6:*x+=25;break;
}
switch(key)
{ case 0:
case 7:
case 6:*y-=25;break;
case 2:
case 3:
case 4:*y+=25;break;
}
if(*x<0) *x=0;
if(*x>250) *x=250;
if(*y<0) *y=0;
if(*y>250) *y=250;
}

void make_graphics()/*画方框*/
{int i,j,driver=VGA,mode=VGAHI;
initgraph(&driver,&mode,"");
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
for(i=0;i<=10;i++)
line(0,25*i,250,25*i);
for(i=0;i<=10;i++)
line(25*i,0,25*i,250);
}
void make_circle(int x,int y,int n)/*根据提供的离子所在方位画圆*/
{
int size;
setcolor(LIGHTRED);
setlinestyle(0,0,1);
setfillstyle(1,10);
circle(x+25/2,y+25/2,25/2);
floodfill(x+25/2,y+25/2,12);
size=imagesize(x,y,x+25,y+25);
buf[n]=(void *)malloc(size);/*保存每一个圆*/
}


void sport(int *x,int *y)/*粒子的运动*/
{
time_t starttime,endtime;
int seed=0,i,j;
int key;
char s[300];
int t=1;
srand(seed);


/*保存现场图形*/
for(i=0;i getimage(x[i],y[i],x[i]+25,y[i]+25,buf[i]);
cleardevice();/*清除*/
setbkcolor(BLUE);
cleardevice();
setviewport(50, 50, 590, 430, 1); /*定义一个图形窗口*/
setfillstyle(1, 2); /*绿色以实填充*/
setcolor(YELLOW);
rectangle(0, 0,590, 230);
floodfill(50, 50, 14);
setcolor(12);
settextstyle(1, 0, 8); /*三重笔划字体, 水平放大8倍*/
outtextxy(20, 20, "I miss you");
setcolor(11);
settextstyle(1, 0, 4); /*三重笔划字体, 水平放大4倍*/
outtextxy(100, 100, "where are you");
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=2.0;time(&endtime));
setbkcolor(YELLOW);
cleardevice();
setcolor(LIGHTRED);
setlinestyle(0,0,1);
while(t)
{
if(fabs(x[0]-x[1])==25&&fabs(y[0]-y[1])==25)
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x[i],&y[i],key);
}
}

else if(fabs(x[0]-x[1])==25fabs(y[0]-y[1])==25)
{key=rand()%8;
for(i=0;i alter_place_lizi(&x[i],&y[i],key);t++;
}
else
{for(i=0;i {key=rand()%8;
alter_place_lizi(&x[i],&y[i],key);
}
}

for(i=0;i putimage(x[i],y[i],buf[i],COPY_PUT);

/*界面维持0.5秒钟*/
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=TIME;time(&endtime));


for(i=0;i getimage(x[i],y[i],x[i]+25,y[i]+25,buf[i]);
cleardevice();
switch(t)
{case 1:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "I am tired to look after you"); delay(1e10);
break;

case 2:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "could you wait for me please?");delay(1e10);
break;
case 3:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "I can not catch up with you");delay(1e10); break;
case 4:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "you walk so quckily");delay(1e10); break;
case 5:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "I will not give up and I believe I can keep up with you one day");delay(1e10); break;
case 6:setcolor(t);
settextstyle(1, 0, 2); /*三重笔划字体, 水平放大4倍*/
outtextxy(t, t, "I can not help stoping as result of your beauty");delay(1e10); break;
default:setcolor(t);
settextstyle(1, 0, 5); /*三重笔划字体, 水平放大4倍*/
outtextxy(t-3, t-3, "I will go with you forever");
}

}

}
main()
{time_t starttime,endtime;
int i,j;
int x[N],y[N],t[N];
make_graphics();

for(i=0;i make_circle(lizi[i].x,lizi[i].y,i);
time(&starttime);
time(&endtime);
for(;difftime(endtime,starttime)<=1.0;time(&endtime));
for(i=0;i{x[i]=lizi[i].x;
y[i]=lizi[i].y;

}

sport(x,y);
}

 

上下文章:

 

上一篇文章: Visual C++编程技巧小结 下一篇文章: VC6.0如何让new失败后抛出异常

相关文章:

  • 飞速在线看视频 傲盾加速帮你实现速度感受
  • 用端口碰撞技术实现服务器远程管理
  • servlet实现oracle中读出文件并显示
  • 在Oracle中实现数据库的复制
  • 在T-SQL中实现Oracle的MINUS集合运算符

相关软件:

  • 网络同居交友程序(爱情公寓) Build 0425
  • 修改IIS的BANNER实现操作系统版本的隐藏(PDF)
  • VB.NET面向对象的实现(CHM)

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

编程技术分类导航

  • ASP & ASP.NET教程
  • PHP教程
  • JSP教程
  • C/C++教程
  • VB & VB.NET教程
  • VC教程
  • Delphi教程
  • BCB教程
  • VFP教程
  • PB教程
  • JAVA教程
  • XML教程
  • C#教程
  • CGI教程

本类经典文章推荐

  • VC++之Button控件
  • VC++之Static Box控件
  • VC++之Edit Box控件
  • VC++之Static Box控件
  • VC++之Edit Box控件
  • VC++之Scroll Bar
  • VC++之Scroll Bar
  • VC++之List Box/Check List Box控...
  • VC++ Combo Box/Combo Box Ex控件
  • VC++ List Ctrl控件

VC教程阅读排行

  • VC++之List Box/Check List Box控...
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • VC++之Button控件
  • VC++之Tab Ctrl控件
  • VC++之Edit Box控件
  • VC++之Edit Box控件
  • VC遍历整个目录树查找文件
  • VC++之Scroll Bar
  • 深入编程:控制面板知多少?

编程技术阅读总排行

  • VB入门教程之一
  • Java连接数据库实例
  • 第二章 PowerBuilder 入门之创建新...
  • VC++之List Box/Check List Box控...
  • 第一章 什么是PowerBuilder
  • VC++ List Ctrl控件
  • VC++ Combo Box/Combo Box Ex控件
  • 学C++不得不看的一篇文章
  • VB入门教程之二
  • VC++之Button控件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有