泡泡屏保

原创 2007年09月27日 21:52:00
我的网站 :http://www.tigerion.cn
/* 泡泡屏保 */
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#include <stdlib.h>
#include <dos.h>
#include <time.h>
#include <bios.h>
#define MAX 12
typedef struct
  {
     float x,y;
     float  vx,vy;
     int color;
  }ball;
void main()
  {
       int gd=DETECT,gm,i,j,k,t;
       ball ba[MAX];
     
       float dt=7e-2;
       int issuit(ball *,int i);
       void hitpro(ball*,int ,int);
        registerbgidriver(EGAVGA_driver);
          initgraph(&gd,&gm,"");
          srand(time(NULL));
         
          for(i=0;i<MAX;i++)
             {
                   ba[i].x=(rand()%5+1)*116;
                   ba[i].y=(rand()%3+1)*116;
                if (!issuit(ba,i)) {i--; continue;}
                ba[i].vx=rand()%50-25;
                ba[i].vy=rand()%50-25;
                ba[i].color=i+1;
             }
          ba[6].color=14;
          ba[7].color=13;  
         
          while(!bioskey(1))
             {
                for(i=0;i<MAX;i++)
                      {
                           ba[i].x+=ba[i].vx*dt;
                           ba[i].y+=ba[i].vy*dt;
                      }
              for(j=0;j<MAX;j++)
                 {
                    for(k=j+1;k<MAX;k++)  hitpro(ba,j,k);
                     if (ba[j].x<51||ba[j].x>589) ba[j].vx=-ba[j].vx;
                    if (ba[j].y<51||ba[j].y>429) ba[j].vy=-ba[j].vy;
                 }
              cleardevice();
                   for(i=0;i<4*MAX;i++)
                      {
                          t=i%MAX;
                          setcolor(ba[t].color);
                          circle(ba[t].x,ba[t].y,50);
                      }     
                  delay(2000);
             }
        closegraph();    
  }
int issuit( ball *b1,int n)
  {
       int i,a,b,c,d;
          a=b1[n].x;
          b=b1[n].y;
          for(i=0;i<n;i++)
             {
                   c=b1[i].x;
                   d=b1[i].y;
                   if (a==c&&b==d) return 0;
             }
          return 1;  
  } 
void hitpro(ball *ba,int j ,int k )
  {
       float r,a,b,c,d,tx1,tx2,ty1,ty2,tem;
        tem=(ba[k].x-ba[j].x)*(ba[k].x-ba[j].x)+(ba[k].y-ba[j].y)*(ba[k].y-ba[j].y);
        r=sqrt(tem);
        if (r>102.0) return ;
       a=(ba[k].x-ba[j].x)/r;
       b=(ba[k].y-ba[j].y)/r;
       c=-b;
       d=a;
       r=sqrt(c*c+d*d);
       c/=r;
       d/=r;
       tx1=ba[j].vx*a+ba[j].vy*b;
       ty1=ba[j].vx*c+ba[j].vy*d;
       tx2=ba[k].vx*a+ba[k].vy*b;
       ty2=ba[k].vx*c+ba[k].vy*d;
       ba[j].vx=tx2*a+ty1*c;
       ba[j].vy=tx2*b+ty1*d;
       ba[k].vx=tx1*a+ty2*c;
       ba[k].vy=tx1*b+ty2*d;
  } 

我的网站 :http://www.tigerion.cn
 

翻出过去的一个多彩泡泡屏保特效(JS+CSS版)

整理文件时翻出一个好久前做的泡泡屏保的特效,纯JS+CSS做的。回想了下,是去年年初时看见XP下那个流行的泡泡屏保,突然想移植到JS版本来。但有做着才发现有不少麻烦的问题解决不好,于是没继续。 ...
  • u010227447
  • u010227447
  • 2015年05月13日 11:05
  • 1257

.Net与DirectX结合制作泡泡屏保

 这是一个使用C#写成的和vista中的肥皂泡屏保相似的程序,使用DirectX绘图。我刚刚开始学习DirectX,我原本就不熟悉C++所以看到DirectX有.net类库真是十分兴奋,一边学习就一边...
  • zputer
  • zputer
  • 2008年01月01日 14:29
  • 894

java编程加载窗口,制作动画(屏保泡泡)

1.整体的结构图: 2.编写GameFrame02.java代码: package cn.bjsxt.test; import java.awt.Frame; import ja...
  • qq_29656961
  • qq_29656961
  • 2017年08月30日 08:33
  • 247

写给老婆:泡泡屏保

昨天在中关村看见的 Vista 泡泡屏保我给你找到了,点击这里可以下载:http://jmouse.vip.sina.com/aiken/bubbles.scr只需要把它放在 C:/Windows/ ...
  • frontgoggle
  • frontgoggle
  • 2006年10月15日 12:36
  • 611

仿Win7屏保泡泡移动

一个泡泡的随机运动using System; using System.Collections.Generic; using System.ComponentModel; using System.D...
  • qq_17543531
  • qq_17543531
  • 2015年09月21日 10:50
  • 604

JS实现多彩圆点气泡动态背景

var canvas=document.getElementById("canvas"); var cxt=canvas.getContext("2d"); function Dot(){     t...
  • rdhj5566
  • rdhj5566
  • 2017年07月12日 15:42
  • 392

CSS3-用过渡实现气泡效果

要想做一张泡泡浮动的效果图,首先要准备一张泡泡图片 实现代码如下 v { 过渡动画 .div{ ...
  • qq_29548433
  • qq_29548433
  • 2017年07月20日 13:55
  • 477

【HTML5】悬浮泡泡

效果截图: 代码: canvas //http://lab.hakim.se/particles/01/ //http://lab.hakim.se/particles...
  • newcong0123
  • newcong0123
  • 2016年12月02日 21:28
  • 367

2018年全国多校算法寒假训练营练习比赛(第二场)A 吐泡泡 【模拟】

题目描述 小鱼儿吐泡泡,嘟嘟嘟冒出来。小鱼儿会吐出两种泡泡:大泡泡”O”,小泡泡”o”。 两个相邻的小泡泡会融成一个大泡泡,两个相邻的大泡泡会爆掉。 (是的你没看错,小气泡和大气泡不会产生任何...
  • nobleman__
  • nobleman__
  • 2018年01月28日 16:55
  • 135

泡泡机器人原创专栏-Cartographer】Cartographer理论及实现浅析

本文概述了Cartographer的理论及简要的梳理了其开源实现代码的逻辑,目的在于起到抛砖引玉的作用,为选择性的研究相关理论及实现提供参考。 1.     Cartographer理论概述 Ca...
  • zouyu1746430162
  • zouyu1746430162
  • 2017年06月15日 15:19
  • 473
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:泡泡屏保
举报原因:
原因补充:

(最多只允许输入30个字)