Discuz! Board

 找回密码
 立即注册
查看: 612|回复: 0

20230305小球连线

[复制链接]

7

主题

7

帖子

37

积分

新手上路

Rank: 1

积分
37
发表于 2023-3-5 15:32:12 | 显示全部楼层 |阅读模式
[C] 纯文本查看 复制代码
#include <graphics.h>                 //包含EGE的头文件
#include<time.h> //包含随机数,时间函
#include<bits/stdc++.h>
using namespace std;

float x[100],y[100],vx[100],vy[100],vg[100],r[100]; 
int cnt=0,n;

void start()//初始化
{
	cin>>n;
	srand(time(0));//随机种子函数     	
	 
//    float y=100,x=50,vy=10,vx=5,y1=350,x1=100,vy1=15,vx1=2;
		          
	for(int i=0;i<n;i++)
	{
		x[i]=(rand()%700)+50; 
		y[i]=(rand()%500)+50;
		vx[i]=rand()%5;
		vy[i]=rand()%4;
		vg[i]=0;
		r[i]=3;
		
	} 
	             
//    float vg=0,vg1=0;
     
    initgraph(800, 600);                //初始化图形界面
    setcolor(RED);  //设置画图线为红色 
    setbkcolor(WHITE);//设置背景颜色为白色
    setfillcolor(RED);//设置填充颜色为红色
	
    setfont(25,0,"幼圆");//(字体高度,字体宽度(为0即为自适应),字形)设置字体为25,幼圆字体
    setbkmode(TRANSPARENT); //设置文字背景色为透明(默认为有背景色)
	
} 
void update()//数据更新 
{
	for(int i=0;i<n;i++)
	{
		y[i]+=vy[i];
        x[i]+=vx[i];
		if(y[i]>=(600-r[i]))
        {
            y[i]=(600-r[i]);
            vy[i]=-vy[i];
            cnt++;
    	}
    	if(y[i]<=r[i])
        {
            y[i]=r[i];
            vy[i]=-vy[i];
            cnt++;
    	}
    	if(x[i]>=(800-r[i]))
    	{
    		x[i]=800-r[i];
    		vx[i]=-vx[i];
		}
    	if(x[i]<=r[i])
    	{
    		x[i]=r[i];
        	vx[i]=-vx[i];
    	}
	}	 
}
void draw()//绘制
{
xyprintf(20,20,"弹跳次数:%d",cnt);//格式化输出文字
	for(int i=0;i<n;i++)
	{
	   setfillcolor(hsv2rgb(10*i%360, 1, 1));//设置填充颜色  参数(颜色,饱和度,明亮度)
    	fillellipse(x[i],y[i], r[i], r[i]);
	}
	for(int i=0;i<n;i++)
	{
	 	for(int j=i+1;j<n;j++)
		{
			setcolor(hsv2rgb(10*i%360, 1, 1));//设置填充颜色  参数(颜色,饱和度,明亮度)
    		line(x[i],y[i],x[j],y[j]);
		}	
	}
} 



int main()
{
	start();	 
    while(1)
    {
     	update();
		draw();          
	    Sleep(10);
	    cleardevice();  
    }   
    getch();                            //暂停,等待键盘按键
     
    return 0;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-5-31 12:31 , Processed in 0.053672 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.. 技术支持 by 巅峰设计

快速回复 返回顶部 返回列表