Exemple #1
0
        /// <summary>
        /// Update logik
        /// </summary>
        /// <param name="gameTime"></param>
        public void Update(GameTime gameTime)
        {
            // Här öker Expo hela tiden
            Expo += (float)gameTime.ElapsedGameTime.TotalMilliseconds / 20000f;
            // Här ser vi att totspeed kommer att expotentiellt öka över tid
            float totspeed = Acc * Expo;

            // Här sätter vi max hastigheten
            if (totspeed >= 500)
            {
                totspeed = 500;
            }
            // Foreach loop som lägger på hastigheten
            Enemy.ForEach(x => x.Model.Position += new Vector3(0, 0, totspeed));

            //Här koller vi så coinet inte ska tas bort
            Enemy = Enemy.Where(x => !x.AwaitingRemoval).ToList();
            // Här uppdaterar vi fiender
            Enemy.ForEach(x => x.Update(gameTime));
            // Här uppdaterar vi rotationen på coinet
            Enemy.ForEach(x => x.Model.Rotation += rotationVector);
            // Här lägger vi på rotation
            preloadedBase.Rotation += rotationVector;
            // Här höjker vi chansen att något ska spawna för att göra det svårare med tid
            SpawnRate -= 2.5f * Expo;
            //Här sätter vi max spawnraten
            if (SpawnRate <= 1000)
            {
                SpawnRate = 1000;
            }
            //Här lägger vi på hur ofta något kan spawna
            storeValue += rand.Next(0, 1000);
            //Här kollar vi om vi kan spawna efter storevaluen annars hoppa ur detta
            if (storeValue >= SpawnRate)
            {
                Console.Write(storeValue);
                storeValue = 0;
            }
            else
            {
                return;
            }
            //Lägg till hur enemyska se ut efter preloadded base
            Enemy.Add(new Enemy
            {
                Model = preloadedBase.Clone() as CustomModel
            });
        }
        public void Update(GameTime gameTime)
        {
            expo += (float)gameTime.ElapsedGameTime.TotalMilliseconds / 10000f;
            float totspeed = acc * expo;

            if (totspeed >= 500)
            {
                totspeed = 500;
            }
            Console.WriteLine(totspeed);
            Enemy.ForEach(x => x.Model.Position += new Vector3(0, 0, totspeed));

            Enemy = Enemy.Where(x => !x.AwaitingRemoval).ToList();
            Enemy.ForEach(x => x.Update(gameTime));

            Enemy.ForEach(x => x.Model.Rotation += rotationVector);

            preloadedBase.Rotation += rotationVector;
            spawnRate -= 2.5f * expo;
            if (spawnRate <= 1000)
            {
                spawnRate = 1000;
            }
            Console.WriteLine("ksegjodhgd" + spawnRate);
            storeValue += rand.Next(0, 1000);
            if (storeValue >= spawnRate)
            {
                Console.Write(storeValue);
                storeValue = 0;
            }
            else
            {
                return;
            }

            Enemy.Add(new Enemy
            {
                Model = preloadedBase.Clone() as CustomModel
            });
        }