注册 登录
编程论坛 C++教室

怎样表示大量粒子?急啊

aoaoqiumiao 发布于 2010-05-19 13:35, 543 次点击
模拟简单的爆炸。(提示:爆炸可看作是大量粒子在同一瞬间从同一地点作的随机抛体运动)
只要表示大量粒子也行
急!急!急!
3 回复
#2
ciweitou1632010-05-19 16:21
不知道这个合适吗?
程序代码:

#include<iostream>
#include<cstring>
#include <cstdlib>
using namespace std;

class bomb
{
    public:
        int n;
        char array[10000][10000];
        bomb()
        {
            for(int i=0;i<n;i++)
            {
                for(int j=0;j<n;j++)
                    array[i][j]=' ';
                cout<<endl;
            }
        }
        void charger()
        {
            int half=n/2;
            for(int m=0;m<=half;m++)
            {
                int i=rand()%n;
                int j=rand()%n;
                array[i][j]='*';   
            }
        }
        void bombing()
        {
            for(int i=0;i<10000;i++)
            {
                for(int j=0;j<10000;j++)
                    cout<<array[i][j];
                cout<<endl;
            }
        }
};

int main(void)
{
    bomb Bomb;
    for(int i=0;i<=65535;i+=300)
    {
        system("cls");
        Bomb.n=i+300;
        Bomb.charger();
        Bomb.bombing();
    }
    return 0;   
}

不过没输出 ,我调试不出来!请高手完善下。

[ 本帖最后由 ciweitou163 于 2010-5-20 11:44 编辑 ]
#3
lintaoyn2010-05-19 19:45
回复 2楼 ciweitou163
数组过大。(我把数值改小下可以有输出,你用的Dev-C++是吧)
感觉可以用标准库里的bitset。
#include<bitset>
using namespace std;
int main()
{
bitset<128> b[10000];
//然后做随机处理
}
#4
天使梦魔2010-05-19 22:03
使用对象,用类过程。
对象对自己的行为负责。

或者简单些用个函数完成他们功能,这个函数就代表一个粒子。
函数行为(你可以写成参数)包括,重量,受力方向,引力方向,力大小,特殊因素。
你的程序在接受一组特殊因素后把“数据”传给粒子函数。
粒子函数在得到参数后自己发生行为
力量怎么衰减?物理公式怎么得出运动方向?怎么测试碰撞?。。。。。。。
1