标题: TC写的小动画效果
[打印本页]
作者: 523066680
时间: 2009-9-4 00:43
标题: TC写的小动画效果
上传的文件里有3个效果:变幻Delta带影子的 变幻四面体 不同速度随机游动的点
我平常放dos启动盘里,进入dos的时候拿来做屏保啦哈哈。
#include <Conio.h>
#include <graphics.h>
#include <stdlib.h>
#define closegr closegraph
#define NDOT 4
typedef struct
{
int a,b,x,y;
} DotInf;
void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0;
registerbgidriver(EGAVGA_driver);
initgraph(&gd, &gm, "");
}
void delta(DotInf dot[],int c)
{
int i,j;
setcolor(c);
for (i=0;i<NDOT;i++)
for (j=i+1;j<NDOT;j++) line(dot[i].x,dot[i].y,dot[j].x,dot[j].y);
}
int main(void)
{
int i,j,whi=0;
DotInf snk[NDOT],everdot[NDOT];
initgr(); /* BGI初始化 */
for (i=0;i<NDOT;i++) {
snk[i].a=snk[i].b=snk[i].x=snk[i].y=200;
}
delta(snk,2);
randomize();
while (!kbhit())
{
if (whi<4) whi++; else whi=0;
for (i=0;i<600;i++) delay(10);
delta(everdot,0);
delta(snk,2);
for (i=0;i<NDOT;i++){
if ((snk[i].x==snk[i].a)&&(snk[i].y==snk[i].b)){
snk[i].a=rand()%600+1;
snk[i].b=rand()%400+20;
}
}
for (i=0;i<NDOT;i++){
everdot[i].x=snk[i].x;
everdot[i].y=snk[i].y;
if (whi>i) continue;
if (snk[i].x>snk[i].a)
snk[i].x--;
else if (snk[i].x<snk[i].a)
snk[i].x++;
else
{
if (snk[i].y>snk[i].b)
snk[i].y--;
else if (snk[i].y<snk[i].b)
snk[i].y++;
}
}
}
getch();
closegr(); /* 恢复TEXT屏幕模式 */
return 0;
}
[
Last edited by 523066680 on 2009-9-7 at 01:25 ]
附件
1: TCGRAPH.rar (2009-9-4 00:46, 59.37 K, 下载附件所需积分 1点
,下载次数: 132)
作者: 523066680
时间: 2009-9-7 01:25
………………
作者: justzero
时间: 2009-9-11 08:05
标题: 12
不错!
作者: cike09
时间: 2009-9-12 05:35
??????????????????
作者: 523066680
时间: 2009-9-12 05:41
楼上有怀疑就说,发问号很容易被当作恶意灌水并扣分的。
作者: xugaohui
时间: 2009-9-13 01:02
不能在移动鼠标时退出,不能驻留内存。
作者: 523066680
时间: 2009-9-14 06:19
学没多久,不会,多多指教啊~
什么是驻留内存
作者: xiaoguizi007
时间: 2010-4-20 16:22
这么好,看看
作者: erontec
时间: 2010-4-20 22:35
这么好,看看
作者: demonstone
时间: 2010-4-26 21:05
标题: 不错
收下了!
作者: messen
时间: 2010-5-5 18:21
看看的哦 可惜了 不怎么会用
作者: atak
时间: 2010-10-25 11:47
做的不错
作者: 1beyondworld
时间: 2010-11-1 20:52
不错的方法
作者: wds59211314
时间: 2010-12-15 10:30
下载来看看,还没看过呢…
作者: 1051093860
时间: 2015-6-18 21:21
不错!