Discuz! Board

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

ball 2.0

[复制链接]

27

主题

29

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
14147
发表于 2022-11-12 13:19:45 | 显示全部楼层 |阅读模式
[C++] 纯文本查看 复制代码
#include <graphics.h>
struct ballon
{
	float x;//ball[i].x坐标
    float y;//ball[i].y坐标
    float vx;//ball[i].x向速度
    float vy;//ball[i].y向速度
    int radius;//半径
    float g;
}ball[10];
int main()
{
 
    int width =800;
    int height =600;
    for(int i=0;i<10;i++)
    {
    	ball[i].x=400+50*i;
    	ball[i].y=100+5*i;
    	ball[i].vx=5;
    	ball[i].vy=4;
    	ball[i].radius=15+1*i;
    	ball[i].g=0;
	}
     
    initgraph(width, height);               //初始化图形界面
    setcolor(BLUE);  //设置画图线为红色
    setbkcolor(WHITE);//设置背景颜色为白色
    setfillcolor(BLUE);//设置填充颜色为红色
     
    while(1)
    {
    	for(int i=0;i<10;i++)
    	{
    		ball[i].vy=ball[i].vy+ball[i].g;
			ball[i].vx=ball[i].vx+ball[i].g;
        	ball[i].y=ball[i].y+ball[i].vy;
        	ball[i].x=ball[i].x+ball[i].vx;
			if(ball[i].y>=height-ball[i].radius)
			{
				ball[i].vy=-ball[i].vy;
			}
			else if(ball[i].y<=ball[i].radius)
			{
				ball[i].vy=-ball[i].vy;
			}
			if(ball[i].x>=width-ball[i].radius)
			{
				ball[i].x=width-ball[i].radius;
				ball[i].vx=-ball[i].vx;
			}
			else if(ball[i].x<=ball[i].radius)
			{
				ball[i].vx=-ball[i].vx;
			}
		
        	
        	fillellipse(ball[i].x, ball[i].y, ball[i].radius, ball[i].radius); //画一个实心圆
		}
        Sleep(10);
		cleardevice();
    }
     
    return 0;
}





回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|DiscuzX

GMT+8, 2025-2-13 10:52 , Processed in 0.048051 second(s), 26 queries .

Powered by Discuz! X3.4

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

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