惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
IT之家
IT之家
博客园_首页
博客园 - 【当耐特】
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
GbyAI
GbyAI
腾讯CDC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
I
InfoQ
H
Help Net Security
T
Tailwind CSS Blog
B
Blog RSS Feed
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
The Cloudflare Blog
博客园 - 叶小钗
雷峰网
雷峰网
量子位

博客园 - Aween's Blog

showModelessDialog()使用详解 通用数制转换器 图形旋转的C语言源程序 字符串查找 c语言库函数 学习c语言程序设计的误区 图形处理 基本调试手段 图形程序运行的条件 关于二十四点游戏的编程思路 全屏幕模拟时钟的c源程序 以前常用的攻击软件源代码 图形模式下的汉字显示 两个矩阵相乘的源程序 运行错误的判断与调试 五子棋算法 设计彩色框的c源程序 上海黑暗之龙--麻将原代码 董乘宇--迷宫程序1.10版
飞行字
Aween's Blog · 2006-03-02 · via 博客园 - Aween's Blog

#include"stdio.h"
#include 
"math.h"
#include 
"conio.h"
#include 
"stdlib.h"
#include 
"graphics.h"
#define NUMBER 8
#define PI 3.14
#define STEP 8
#define STRING "2000"
#define MAXSIZE 24
#define DEFSIZE 16
struct FLY_H
 
{
 
int x,y;
  
int size;
 
char font;
 
int color;
 
int rale;
  }
;
void fly(struct FLY_H *f);

main()
{
  
int drive=VGA,mode=VGAHI;
  
int i;
  
struct FLY_H f[NUMBER];
  registerbgidriver(EGAVGA_driver);
  initgraph(
&drive,&mode,"");
  randomize();
  
for(i=0;i<NUMBER;i++)
    
{
    f[i].x
=random(getmaxx()/3+getmaxx()/3);
    f[i].y
=random(getmaxy()/3+getmaxy()/3);
    f[i].color
=random(15)+1;
    f[i].font
=random(4)+1;
    f[i].size
=1;
    f[i].rale
=random(360);
    }

 
while(bioskey(1)!=0x011b)
 
for(i=0;i<NUMBER&&bioskey(1)!=0x011b;i++)
  
{
    fly(
&f[i]);
    
if(bioskey(1))
    
{
    
if(bioskey(1)!=0x011b)
    getch();
    }

  }

closegraph();
}

void fly(struct FLY_H *f)
{  setcolor(getbkcolor());
   settextstyle(f
->font,HORIZ_DIR,0);
   setusercharsize(f
->size,DEFSIZE,f->size,DEFSIZE);
   outtextxy(f
->x,f->y,STRING);
   
if(f->size+1<=MAXSIZE)
   f
->size++;
   f
->x+=STEP *cos((float) f->rale/180.0*PI);
    f
->y+=STEP*sin((float)f->rale/180.0*PI);
    
if(f->x>getmaxx()||f->y>getmaxy()||f->x+f->size*strlen(STRING)<0||f->y+f->size*strlen(STRING)<0)
   
{  f->x=random(getmaxx()/3+getmaxx()/3);
      f
->y=random(getmaxy()/3+getmaxy()/3);
      f
->color=random(15)+1;
      f
->font=random(4)+1;
      f
->size=1;
      f
->rale=random(360);
    }

   setcolor(f
->color);
   settextstyle(f
->font,HORIZ_DIR,0);
   setusercharsize(f
->size,DEFSIZE,f->size,DEFSIZE);
   outtextxy(f
->x,f->y,STRING);
}