static void GenerateInitialData(Engine engine) { var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, randGenerator, 5, 2, GenerateRandomParticle); engine.AddParticle(emitter); //check attractor var attractorPosition = new MatrixCoords(10, 10); var attractor = new ParticleAttractor(attractorPosition, new MatrixCoords(0, 0), 1); engine.AddParticle(attractor); // 02.Test the ChaoticParticle through the ParticleSystemMain class // Create chaotic particle and add it to the engine var chaoticParticle = new ChaoticParticle(new MatrixCoords(15, 15), new MatrixCoords(1, 1), randGenerator); engine.AddParticle(chaoticParticle); // 04.Test the ChickenParticle class through the ParcticleSystemMain class. var chickenParticle = new ChickenParticle(new MatrixCoords(10, 10), new MatrixCoords(-1, 2), randGenerator, 20); engine.AddParticle(chickenParticle); // 06.Test the ParticleRepeller class through the ParticleSystemMain class // create repeller with large radius and power to see the result // because in one moment there are too many new chicken particles created var particleRepeller = new ParticleRepeller(new MatrixCoords(20, 20), new MatrixCoords(0, 0), 10, 20.0); engine.AddParticle(particleRepeller); }
static void Main(string[] args) { var renderer = new ConsoleRenderer(Rows, Cols); var particleOperator = new AdvancedParticleOperatorWithRepeller(); var engine = new Engine(renderer, particleOperator, null, 300); var chaoticParticle = new ChaoticParticle(new MatrixCoords(20, 20), new MatrixCoords(0, 0), RandomGenerator, 1); engine.AddParticle(chaoticParticle); var attractor = new ParticleAttractor(new MatrixCoords(15, 15), new MatrixCoords(0, 0), 2); engine.AddParticle(attractor); var repeller = new ParticleRepeller(new MatrixCoords(20, 15), new MatrixCoords(0, 0), 1, 5); engine.AddParticle(repeller); engine.AddParticle(new Particle(new MatrixCoords(20, 20), new MatrixCoords(0, 0))); var chickenParticle = new ChickenParticle(new MatrixCoords(15, 15), new MatrixCoords(0, 0), RandomGenerator, 3, new MatrixCoords(3, 6)); engine.AddParticle(chickenParticle); //GenerateInitialData(engine); engine.Run(); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new Particle( new MatrixCoords(15, 0), new MatrixCoords(0, 3)) ); engine.AddParticle( new DyingParticle( new MatrixCoords(20, 5), new MatrixCoords(-1, 1), 12) ); // engine.AddParticle(new ChikenParticle(new MatrixCoords(20,20),new MatrixCoords(1,0),5)); var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); //engine.AddParticle(attractor); //engine.AddParticle(attractor2); engine.AddParticle(new ParticleRepeller(new MatrixCoords(15,21),new MatrixCoords(0,0),2,15)); }
private static void GenerateParticle(Engine engine) { engine.AddParticle(new Particle( new MatrixCoords(15, 0), new MatrixCoords(0, 1) )); engine.AddParticle(new DyingParticle( new MatrixCoords(0, 15), new MatrixCoords(1, 0), 8 )); var emitterPosition = new MatrixCoords(15, 15); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmiter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, (emitterParameter) => { MatrixCoords particlePos = emitterParameter.Position; int particleRowSpeed = emitterParameter.Generator.Next(emitterParameter.MinSpeedCoord, emitterParameter.MaxSpeedCoord + 1); int particleColSpeed = emitterParameter.Generator.Next(emitterParameter.MinSpeedCoord, emitterParameter.MaxSpeedCoord + 1); MatrixCoords particleSpeed = new MatrixCoords(particleRowSpeed,particleColSpeed); Particle generated = null; int particleTypeIndex = emitterParameter.Generator.Next(0, 2); switch (particleTypeIndex) { case 0: generated = new Particle(particlePos, particleSpeed); break; case 1: uint lifespan = (uint)emitterParameter.Generator.Next(8); generated = new DyingParticle(particlePos,particleSpeed,lifespan); break; default: throw new ArgumentException("Invalid Type"); } return generated; } ); engine.AddParticle(emitter); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new Particle( new MatrixCoords(0, 8), new MatrixCoords(-1, 0)) ); engine.AddParticle( new DyingParticle( new MatrixCoords(20, 5), new MatrixCoords(-1, 1), 12) ); var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); //engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); engine.AddParticle(attractor); engine.AddParticle(attractor2); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new Particle( new MatrixCoords(10, 10), new MatrixCoords(0, 0)) ); engine.AddParticle( new DyingParticle( new MatrixCoords(20, 30), new MatrixCoords(-1, 1), 8) ); var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle); //engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(15, 15); var attractor = new ParticleAttractor(attractorPosition, new MatrixCoords(0, 0), 1); engine.AddParticle(attractor); var repellerPosition = new MatrixCoords(15, 25); var repeller = new ParticleRepeller(repellerPosition, new MatrixCoords(0, 0), 3, 10); engine.AddParticle(repeller); //engine.AddParticle( // new ChickenParticle( // new MatrixCoords(10, 10), // new MatrixCoords(0, 0), RandomGenerator, 2) // ); }
// Create a ChickenParticle class. // The ChickenParticle class moves like a ChaoticParticle, // but randomly stops at different positions for several simulation ticks and, // for each of those stops, creates (lays) a new ChickenParticle. static void Main() { IRenderer renderer = new ConsoleRenderer(MaxRows, MaxCols); IParticleOperator particleOperator = new ParticleUpdater(); int sleepTimeMs = 250; Engine engine = new Engine(renderer, particleOperator, sleepTimeMs); // Create a ChickenParticle (it will spawn other particles) MatrixCoords initialPosition = new MatrixCoords(MaxRows / 2, MaxCols / 2); MatrixCoords initialSpeed = new MatrixCoords(0, 0); Particle chickenParticle = new ChickenParticle(initialPosition, initialSpeed); engine.AddParticle(chickenParticle); SetConsole(); engine.Run(); }
private static void GenerateInitialData(Engine engine) { /*engine.AddParticle( * new Particle( * new MatrixCoords(0, 8), * new MatrixCoords(-1, 0)) * ); * * engine.AddParticle( * new DyingParticle( * new MatrixCoords(20, 5), * new MatrixCoords(-1, 1), * 12) * );*/ // Test the ChaoticParticle. var chaoticParticle = new ChaoticParticle( new MatrixCoords(20, 25), new MatrixCoords(-1, 1), RandomGenerator); engine.AddParticle(chaoticParticle); // Test the ChickenParticle. var chickenParticle = new ChickenParticle( new MatrixCoords(25, 15), new MatrixCoords(0, 1), RandomGenerator); engine.AddParticle(chickenParticle); // Test the ParticleRepeller. var particleRepeller = new ParticleRepeller( new MatrixCoords(10, 13), new MatrixCoords(0, 0), 2, 10); engine.AddParticle(particleRepeller); var emitterPosition = new MatrixCoords(19, 15); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); // engine.AddParticle(attractor); // engine.AddParticle(attractor2); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new Particle( new MatrixCoords(0, 10), new MatrixCoords(1, 1)) ); var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, rand, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var emitterPosition2 = new MatrixCoords(2, 10); var emitterSpeed2 = new MatrixCoords(10, 5); var emitter2 = new ParticleEmitter(emitterPosition2, emitterSpeed2, rand, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter2); var emitterPosition3 = new MatrixCoords(15, 0); var emitterSpeed3 = new MatrixCoords(0, 0); var emitter3 = new ParticleEmitter(emitterPosition3, emitterSpeed3, rand, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter3); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); engine.AddParticle(attractor); engine.AddParticle(attractor2); var chaoticParticle = new ChaoticParticle(new MatrixCoords(15, 15), new MatrixCoords(1, 1), rand, 50, 50); //engine.AddParticle(chaoticParticle); var chickenParticle = new ChickenParticle(new MatrixCoords(15, 15), new MatrixCoords(1, 1), rand, 50, 50, 20, 10); //engine.AddParticle(chickenParticle); var repellerParticle = new ParticleRepeller(new MatrixCoords(15, 15), new MatrixCoords(0, 0), 1, 8); //engine.AddParticle(repellerParticle); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new Particle( new MatrixCoords(0, 10), new MatrixCoords(1, 1)) ); /*engine.AddParticle( * new DyingParticle( * new MatrixCoords(20, 5), * new MatrixCoords(-1, 1), * 12) * ); */ var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var emitterPosition2 = new MatrixCoords(0, 0); var emitterSpeed2 = new MatrixCoords(0, 0); var emitter2 = new ParticleEmitter(emitterPosition2, emitterSpeed2, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter2); var emitterPosition3 = new MatrixCoords(15, 0); var emitterSpeed3 = new MatrixCoords(0, 0); var emitter3 = new ParticleEmitter(emitterPosition3, emitterSpeed3, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter3); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); //engine.AddParticle(attractor); //engine.AddParticle(attractor2); var chaoticParticle = new ChaoticParticle(new MatrixCoords(15, 15), new MatrixCoords(1, 1), RandomGenerator, 50, 50); //engine.AddParticle(chaoticParticle); var chickenParticle = new ChickenParticle(new MatrixCoords(15, 15), new MatrixCoords(1, 1), RandomGenerator, 50, 50, 20, 10); //engine.AddParticle(chickenParticle); var repellerParticle = new ParticleRepeller(new MatrixCoords(15, 15), new MatrixCoords(0, 0), 1, 8); engine.AddParticle(repellerParticle); }
private static void GenerateInitialData(Engine engine) { /*engine.AddParticle( new Particle( new MatrixCoords(0, 8), new MatrixCoords(-1, 0)) ); engine.AddParticle( new DyingParticle( new MatrixCoords(20, 5), new MatrixCoords(-1, 1), 12) );*/ // Test the ChaoticParticle. var chaoticParticle = new ChaoticParticle( new MatrixCoords(20, 25), new MatrixCoords(-1, 1), RandomGenerator); engine.AddParticle(chaoticParticle); // Test the ChickenParticle. var chickenParticle = new ChickenParticle( new MatrixCoords(25, 15), new MatrixCoords(0, 1), RandomGenerator); engine.AddParticle(chickenParticle); // Test the ParticleRepeller. var particleRepeller = new ParticleRepeller( new MatrixCoords(10, 13), new MatrixCoords(0, 0), 2, 10); engine.AddParticle(particleRepeller); var emitterPosition = new MatrixCoords(19, 15); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); // engine.AddParticle(attractor); // engine.AddParticle(attractor2); }
private static void GenerateInitialData(Engine engine) { //engine.AddParticle( // new Particle( // new MatrixCoords(0, 5), // new MatrixCoords(1, 1)) // ); //engine.AddParticle( // new DyingParticle( // new MatrixCoords(20, 5), // new MatrixCoords(-1, 1), // 12) // ); var emitterPosition = new MatrixCoords(29, 3); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); engine.AddParticle(emitter); var attractorPosition = new MatrixCoords(10, 3); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 1); var attractorPosition2 = new MatrixCoords(10, 13); var attractor2 = new ParticleAttractor( attractorPosition2, new MatrixCoords(0, 0), 3); //engine.AddParticle(attractor); //engine.AddParticle(attractor2); //Add one chaotic particle to the engine //engine.AddParticle( // new ChaoticParticle( // new MatrixCoords(15, 15), // new MatrixCoords(-1, 1), // RandomGenerator) // ); //Add one chicken particle to the engine //engine.AddParticle( // new ChickenParticle( // new MatrixCoords(15, 15), // new MatrixCoords(-1, 1), // RandomGenerator) // ); //Add one particle repeller to the engine //engine.AddParticle( // new ParticleRepeller( // new MatrixCoords(17, 20), // new MatrixCoords(0, 0), // 5, // 10) // ); }
private static void GenerateInitialData(Engine engine) { engine.AddParticle( new DyingParticle( new MatrixCoords(20, 5), new MatrixCoords(-1, 1), 12) ); ////Particle Emitter var emitterPosition = new MatrixCoords(29, 0); var emitterSpeed = new MatrixCoords(0, 0); var emitter = new ParticleEmitter(emitterPosition, emitterSpeed, RandomGenerator, 5, 2, GenerateRandomParticle ); //engine.AddParticle(emitter); //// Paritcle Attractor var attractorPosition = new MatrixCoords(15, 20); var attractor = new ParticleAttractor( attractorPosition, new MatrixCoords(0, 0), 3); //engine.AddParticle(attractor); //// IMPORTANT! //// Exercises 1 and 2 -> //// check classes: ChaoticParticle, AdvancedParticalUpdater var crazyPosition = new MatrixCoords(15, 12); var crazy = new ChaoticParticle(crazyPosition, new MatrixCoords(0, 0), RandomGenerator, 1); var crazyPositiontoo = new MatrixCoords(15, 15); var crazytoo = new ChaoticParticle(crazyPositiontoo, new MatrixCoords(0, 0), RandomGenerator, 1); var crazyPositionmore = new MatrixCoords(15, 19); var crazymore = new ChaoticParticle(crazyPositionmore, new MatrixCoords(0, 0), RandomGenerator, 1); engine.AddParticle(crazy); engine.AddParticle(crazytoo); engine.AddParticle(crazymore); //// IMPORTANT! //// Exercises 3 and 4 -> //// check classes: ChickenParticle, AdvancedParticalUpdater var chickenPosition = new MatrixCoords(15, 12); var chcken = new ChickenParticle(chickenPosition, new MatrixCoords(0, 0), RandomGenerator, 1, 4); engine.AddParticle(chcken); //// IMPORTANT! //// Exercises 5 and 6 -> //// check classes: ParticleEmitter, AdvancedParticalUpdater var reppelerPosition = new MatrixCoords(18, 28); var reppeler = new ParticleRepeller( reppelerPosition, new MatrixCoords(0, 0), 3); //engine.AddParticle(reppeler); }