Beispiel #1
0
        public void RenderState()
        {
            player.RenderPlayer();
            explosions.RenderAnimations();
            if (!isOnPlatform)
            {
                if (game.gameTimer.CapturedUpdates == 0)
                {
                    currentVelocity = (game.gravity + player.thrust) * 1 + currentVelocity;
                }
                else
                {
                    currentVelocity = (game.gravity + player.thrust) * game.gameTimer.CapturedUpdates + currentVelocity;
                }
            }

            if (!isOnPlatform)
            {
                player.Entity.Shape.Move(currentVelocity);
            }


            foreach (var obstacle in currentLevel.obstacles)
            {
                obstacle.RenderEntity();
            }
        }
Beispiel #2
0
    public static void iterateShots()
    {
        foreach (var shot in Game.PlayerShots)
        {
            shot.Shape.Move();
            if (shot.Shape.Position.Y > 1.0f)
            {
                shot.DeleteEntity();
            }
            else
            {
                foreach (var enemy in Game.enemies)
                {
                    var col = CollisionDetection.Aabb(shot.Shape.AsDynamicShape(), enemy.Shape);
                    if (col.Collision)
                    {
                        shot.AddExplosion(enemy.Shape.Position.X, enemy.Shape.Position.Y,
                                          enemy.Shape.Extent.X, enemy.Shape.Extent.Y);
                        explosions.RenderAnimations();

                        enemy.DeleteEntity();
                        shot.DeleteEntity();
                    }
                }
            }
        }
    }
Beispiel #3
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                win.PollEvents();
                gameTimer.MeasureTime();

                while (gameTimer.ShouldUpdate())
                {
                    eventBus.ProcessEvents();
                    ItterateShots();
                    player.Move();
                    movementStrategy.MoveEnemies(enemies);
                }

                if (gameTimer.ShouldRender())
                {
                    win.Clear();
                    backGround.Render(new StationaryShape(
                                          new Vec2F(0.0f, 0.0f), new Vec2F(1.0f, 1.0f)));
                    playerShots.RenderEntities();
                    enemies.RenderEntities();
                    explosions.RenderAnimations();
                    player.Entity.RenderEntity();
                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
Beispiel #4
0
        public void RenderState()
        {
            backGroundImage.RenderEntity();
            player.entity.RenderEntity();
            row.Enemies.Iterate(entity => entity.RenderEntity());
            explosions.RenderAnimations();

            foreach (var shot in player.PlayerShots)
            {
                shot.RenderEntity();

                foreach (Enemy enemy in row.Enemies)
                {
                    var shotHit = CollisionDetection.Aabb(shot.Shape.AsDynamicShape(), enemy.Shape);
                    if (shotHit.Collision)
                    {
                        AddExplosion(enemy.Shape.Position.X, enemy.Shape.Position.Y,
                                     enemy.Shape.Extent.X, enemy.Shape.Extent.Y);
                        shot.DeleteEntity();
                        enemy.DeleteEntity();
                        score.AddPoint(100);
                    }
                }
            }

            score.RenderScore();
        }
Beispiel #5
0
 public void RenderState()
 {
     backGroundImage.RenderEntity();
     playerShots.RenderEntities();
     enemies.RenderEntities();
     explosions.RenderAnimations();
     player.Entity.RenderEntity();
 }
Beispiel #6
0
        public void RenderState()
        {
            player.RenderPlayer();
            explosions.RenderAnimations();
            if (!isOnPlatform)
            {
                currentVelocity = (gravity + player.thrust) * game.gameTimer.CapturedUpdates + currentVelocity;
                player.Entity.Shape.AsDynamicShape().ChangeDirection(new Vec2F(currentVelocity.X, currentVelocity.Y));
            }

            if (!isOnPlatform)
            {
                player.Entity.Shape.Move(currentVelocity);
            }
            foreach (var obstacle in currentLevel.obstacles)
            {
                obstacle.RenderEntity();
            }
            singletonScore.RenderScore();

            if (first)
            {
                stopwatch = Stopwatch.StartNew();
                first     = false;
            }


            if (customer != null)
            {
                if (singletonTimer.stopwatch.Elapsed.Seconds > customer.droptime && customer != null)
                {
                    singletonTimer.stopwatch.Reset();
                    ChoseLevel.GetInstance().Customer = null;
                    //END GAME
                    singletonScore.PointChanger("Reset");
                    SpaceTaxiBus.GetBus().RegisterEvent(
                        GameEventFactory <object> .CreateGameEventForAllProcessors(
                            GameEventType.GameStateEvent,
                            this,
                            "CHANGE_STATE",
                            "GAME_OVER", ""));
                }
            }


            //renders customers in current level
            foreach (var cus in currentLevel.cusList)
            {
                if (stopwatch.Elapsed.Seconds + (stopwatch.Elapsed.Minutes * 60) >= cus.spawntime)
                {
                    if (!cus.entity.IsDeleted())
                    {
                        cus.RenderCustomer();
                    }
                }
            }
        }
Beispiel #7
0
 public void RenderState()
 {
     backGroundImage.RenderEntity();
     foreach (var player in playerList)
     {
         player.RenderPlayer();
     }
     paintBoard.Images.RenderEntities();
     explosion.RenderAnimations();
 }
Beispiel #8
0
 public void RenderState()
 {
     backgroundImage.Render(new StationaryShape(0.0f, 0.0f, 1.0f, 1.0f));
     player.Render();
     projectiles.RenderEntities();
     for (int i = 0; i < enemeySquadrons.Count; i++)
     {
         enemeySquadrons[i].Enemies.RenderEntities();
     }
     explosions.RenderAnimations();
 }
        public void RenderState()
        {
            player.player.RenderEntity();
            foreach (PlayerShot shot in playerShots)
            {
                shot.RenderEntity();
            }

            enemies.RenderEntities();
            explosions.RenderAnimations();
            score.RenderScore();
        }
Beispiel #10
0
        public void RenderState()
        {
            foreach (var squadron in squadronContainer)
            {
                squadron.Move();
                squadron.Enemies.RenderEntities();
            }

            Projectile.IterateShot(player.Projectiles, squadronContainer);

            explosions.RenderAnimations();

            player.Update();
        }
Beispiel #11
0
 public void RenderState()
 {
     player.Entity.RenderEntity();
     foreach (Enemy enemy in enemies)
     {
         enemy.RenderEntity();
     }
     foreach (PlayerShot shot in playerShots)
     {
         shot.RenderEntity();
     }
     game.IterateShots();
     explosions.RenderAnimations();
     score.RenderScore();
 }
Beispiel #12
0
        public void Render()
        {
            backGroundImage.RenderEntity();
            player.RenderEntity();
            foreach (var squadron in Enemies)
            {
                squadron.Enemies.RenderEntities();
            }

            playerShots.RenderEntities();
            playerLives.Render();

            explosions.RenderAnimations();
            Score.GetInstance().RenderScore();
        }
Beispiel #13
0
        /// <summary>
        /// GameLoop utilizes the GameTimer class to ensure that the game runs at a steady speed on all systems.
        /// We update both rendering and game logic in the loop. The speed of the updates are specified in the gameTimer object.
        /// </summary>
        public void GameLoop()
        {
            //AddEnemies();
            row.CreateEnemies(enemyStrides);

            while (win.IsRunning())
            {
                gameTimer.MeasureTime();
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    eventBus.ProcessEvents();

                    player.Move();

                    movementStrategy.MoveEnemies(row.Enemies);

                    IterateShots();
                }

                if (gameTimer.ShouldRender())
                {
                    win.Clear();

                    player.entity.RenderEntity();

                    row.Enemies.Iterate(entity => entity.RenderEntity());

                    foreach (var shot in playerShots)
                    {
                        shot.RenderEntity();
                    }

                    explosions.RenderAnimations();

                    score.RenderScore();

                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    // 1 second has passed - display last captured ups and fps
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
Beispiel #14
0
        public void RenderState()
        {
            player.Entity.RenderEntity();

            foreach (Enemy element in enemies)
            {
                element.RenderEntity();
            }

            explosions.RenderAnimations();
            score.RenderScore();
            bool allDead     = true;
            bool belowScreen = true;

            foreach (var iter in enemies)
            {
                if (!iter.IsDeleted())
                {
                    allDead = false;
                }

                if (iter.shape.Position.Y > -0.2f)
                {
                    belowScreen = false;
                }
            }

            if (allDead || belowScreen)
            {
                Enemies.ClearContainer();

                if (globalMove.Equals("down"))
                {
                    CreateEnemiesSpot(enemyStrides);
                    globalMove = "zigzag";
                }
                else if (globalMove.Equals("zigzag"))
                {
                    CreateEnemiesZig(enemyStrides);
                    globalMove = "nomove";
                }
            }
            else
            {
                MoveFunction(globalMove);
            }
        }
Beispiel #15
0
 public void GameLoop()
 {
     while (win.IsRunning())
     {
         gameTimer.MeasureTime();
         if (gameState == GameState.GamePlaying)
         {
             while (gameTimer.ShouldUpdate())
             {
                 eventBus.ProcessEvents();
                 win.PollEvents();
                 UpdateEnemies();
                 player.Move();
                 IterateShots();
                 ExitGameOver();
                 currentMoveStrategy.MoveEnemies(enemies);
             }
             if (gameTimer.ShouldRender())
             {
                 win.Clear();
                 player.Entity.RenderEntity();
                 enemies.RenderEntities();
                 playerShots.RenderEntities();
                 explosions.RenderAnimations();
                 score.RenderScore();
                 win.SwapBuffers();
             }
             if (gameTimer.ShouldReset())
             {
                 win.Title = "Galaga | Ups: " + gameTimer.CapturedUpdates + ", FPS: " + gameTimer.CapturedFrames;
             }
         }
         else
         {
             win.Clear();
             GameOverDisPlay.RenderGameOverDisPlay(score.score);
             win.SwapBuffers();
             while (gameTimer.ShouldUpdate())
             {
                 eventBus.ProcessEvents();
                 win.PollEvents();
             }
         }
     }
 }
        public void RenderState()
        {
            if (!gameOver)
            {
                player.Entity.RenderEntity();

                enemies.RenderEntities();

                foreach (PlayerShot shot in playerShots)
                {
                    shot.RenderEntity();
                }

                explosions.RenderAnimations();
            }

            score.RenderScore();
        }
Beispiel #17
0
        public static void MainFunction()
        {
            var win = new Window("TestAnimationContainer", 500, AspectRatio.R1X1);

            var container = new AnimationContainer(4);
            var strides   = ImageStride.CreateStrides(4, "PuffOfSmoke.png");

            win.AddKeyPressEventHandler(delegate(KeyboardKeyEventArgs keyArgs) {
                switch (keyArgs.Key)
                {
                case Key.Escape:
                    win.CloseWindow();
                    break;

                case Key.Number1:
                    container.AddAnimation(new StationaryShape(0.0f, 0.0f, 0.5f, 0.5f), 1000,
                                           new ImageStride(80, strides));
                    break;

                case Key.Number2:
                    container.AddAnimation(new StationaryShape(0.5f, 0.0f, 0.5f, 0.5f), 1000,
                                           new ImageStride(80, strides));
                    break;

                case Key.Number3:
                    container.AddAnimation(new StationaryShape(0.0f, 0.5f, 0.5f, 0.5f), 1000,
                                           new ImageStride(80, strides));
                    break;

                case Key.Number4:
                    container.AddAnimation(new StationaryShape(0.5f, 0.5f, 0.5f, 0.5f), 1000,
                                           new ImageStride(80, strides));
                    break;
                }
            });

            while (win.IsRunning())
            {
                win.PollEvents();
                win.Clear();
                container.RenderAnimations();
                win.SwapBuffers();
            }
        }
Beispiel #18
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                //Timer
                gameTimer.MeasureTime();


                //EventUpdate
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    eventBus.ProcessEvents();
                }


                //Render
                if (gameTimer.ShouldRender())
                {
                    win.Clear();

                    foreach (var squadron in squadronContainer)
                    {
                        squadron.Move();
                        squadron.Enemies.RenderEntities();
                    }

                    Projectile.IterateShot(player.Projectiles, squadronContainer);

                    explosions.RenderAnimations();

                    player.Update();

                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
        public void RenderState()
        {
            // Render gameplay entities here
            // Render player object if game is not over
            if (!isGameOver)
            {
                player.Entity.RenderEntity();
            }
            score.RenderScore();

            foreach (var shot in playerShots)
            {
                shot.Image.Render(shot.Shape);
            }

            // Render all enemy objects
            zigZagDown.MoveEnemies(squiggleSquadron.Enemies);
            squiggleSquadron.Enemies.RenderEntities();
            explosions.RenderAnimations();
        }
Beispiel #20
0
        /// <summary>
        /// GameLoop utilizes the GameTimer class to ensure that the game runs at a steady speed on all systems.
        /// We update both rendering and game logic in the loop. The speed of the updates are specified in the gameTimer object.
        /// </summary>
        public void GameLoop()
        {
            AddEnemies();

            while (win.IsRunning())
            {
                gameTimer.MeasureTime();
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    eventBus.ProcessEvents();

                    player.Move();

                    IterateShots();
                }

                if (gameTimer.ShouldRender())
                {
                    win.Clear();

                    player.RenderEntity();

                    foreach (var enemy in enemies)
                    {
                        enemy.RenderEntity();
                    }

                    foreach (var shot in playerShots)
                    {
                        shot.RenderEntity();
                    }

                    explosions.RenderAnimations();

                    score.RenderScore();

                    win.SwapBuffers();
                }
            }
        }
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                gameTimer.MeasureTime();

                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    eventBus.ProcessEvents();

                    player.Entity.Shape.Move();
                }

                if (gameTimer.ShouldRender())
                {
                    win.Clear();

                    player.Entity.RenderEntity();
                    enemies.RenderEntities();
                    playerShots.RenderEntities();

                    explosions.RenderAnimations();

                    foreach (Entity playerShot in playerShots)
                    {
                        playerShot.Shape.MoveY(0.010f);
                    }

                    playerShots.Iterate(IterateShots);

                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
Beispiel #22
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                gameTimer.MeasureTime();
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    player.Move();
                    eventBus.ProcessEvents();
                    IterateShots();
                    enemies        = newEnemies;
                    newEnemies     = new List <Enemy>();
                    playerShots    = newPlayerShots;
                    newPlayerShots = new List <PlayerShot>();
                }
                if (gameTimer.ShouldRender())
                {
                    win.Clear();
                    player.RenderEntity();
                    foreach (Enemy element in enemies)
                    {
                        element.RenderEntity();
                    }
                    foreach (var elem in playerShots)
                    {
                        elem.RenderEntity();
                    }
                    explosions.RenderAnimations();
                    score.RenderScore();
                    win.SwapBuffers();
                    score.RenderScore();
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
Beispiel #23
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                //Timer
                gameTimer.MeasureTime();


                //EventUpdate
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    eventBus.ProcessEvents();
                }


                //Render
                if (gameTimer.ShouldRender())
                {
                    win.Clear();


                    IterateShot();

                    enemies.RenderEntities();

                    explosions.RenderAnimations();


                    player.Update();

                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }
Beispiel #24
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                gameTimer.MeasureTime();
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents(); // Update game logic
                }

                if (gameTimer.ShouldRender())
                {
                    win.Clear();
                    // Render player
                    player.RenderEntity();
                    // Render enemies
                    foreach (var ene in enemies)
                    {
                        ene.RenderEntity();
                    }

                    //Shots
                    IterateShots();

                    //Explosions, score and win
                    explosions.RenderAnimations();
                    score.RenderScore();
                    win.SwapBuffers();
                }

                if (gameTimer.ShouldReset())
                {
                    // 1 second has passed - display last captured ups and fps
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates + ", FPS: " +
                                gameTimer.CapturedFrames;
                }
                eventBus.ProcessEvents();
            }
        }
Beispiel #25
0
    public void GameLoop()
    {
        while (win.IsRunning())
        {
            gameTimer.MeasureTime();
            while (gameTimer.ShouldUpdate())
            {
                win.PollEvents();
                // Update game logic here
                player.Move();
                eventBus.ProcessEvents();
            }

            if (gameTimer.ShouldRender())
            {
                win.Clear();
                // Render gameplay entities here
                player.Entity.RenderEntity();
                foreach (Enemy enemy in enemies)
                {
                    enemy.RenderEntity();
                }
                foreach (PlayerShot shot in playerShots)
                {
                    shot.RenderEntity();
                }
                IterateShots();
                explosions.RenderAnimations();
                score.RenderScore();
                win.SwapBuffers();
            }
            if (gameTimer.ShouldReset())
            {
                // 1 second has passed - display last captured ups and fps
                win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates + ", FPS: " + gameTimer.CapturedFrames;
            }
        }
    }
Beispiel #26
0
        public void GameLoop()
        {
            while (win.IsRunning())
            {
                gameTimer.MeasureTime();
                while (gameTimer.ShouldUpdate())
                {
                    win.PollEvents();
                    player.Move();
                    eventBus.ProcessEvents();
                    IterateShots();
                    enemies        = newEnemies;
                    newEnemies     = new List <Enemy>();
                    playerShots    = newPlayerShots;
                    newPlayerShots = new List <PlayerShot>();
                }
                if (gameTimer.ShouldRender())
                {
                    win.Clear();
                    player.Entity.RenderEntity();
                    foreach (Enemy element in enemies)
                    {
                        element.RenderEntity();
                    }
                    foreach (var elem in playerShots)
                    {
                        elem.RenderEntity();
                    }

                    explosions.RenderAnimations();
                    score.RenderScore();
                    win.SwapBuffers();
                    score.RenderScore();
                    bool allDead     = true;
                    bool belowScreen = true;

                    foreach (var iter in enemies)
                    {
                        if (!iter.IsDeleted())
                        {
                            allDead = false;
                        }

                        if (iter.shape.Position.Y > -0.2f)
                        {
                            belowScreen = false;
                        }
                    }

                    if (allDead || belowScreen)
                    {
                        if (globalMove.Equals("down"))
                        {
                            createEnemiesSpot = new CreateEnemiesSpot(this, enemies);
                            createEnemiesSpot.CreateEnemies(enemyStrides);
                            globalMove = "zigzag";
                        }
                        else if (globalMove.Equals("zigzag"))
                        {
                            createEnemiesZig = new CreateEnemiesZig(this, enemies);
                            createEnemiesZig.CreateEnemies(enemyStrides);
                            globalMove = "nomove";
                        }
                    }
                    else
                    {
                        MoveFunction(globalMove);
                    }
                }

                if (gameTimer.ShouldReset())
                {
                    win.Title = "Galaga | UPS: " + gameTimer.CapturedUpdates +
                                ", FPS: " + gameTimer.CapturedFrames;
                }
            }
        }